C語言中byte強制轉化成bit是怎麼轉化的?

時間 2022-01-22 08:26:46

1樓:銀鏡玄心

插眼。沒懂你意思,看看大家怎麼回答。

2樓:

涉及到知識盲區,C語言裡是沒有bit這個型別的,也沒有Byte,只有char是佔乙個位元組

不過要我寫我大概會這樣->

char

Byte[8

]=;char

bit=

Byte[7

];或者

char Byte = 0b10000001;

char bit[8];

for (int i = 0; i < 8; iint temp=pow(2,ibit[i] = (Byte & (temp))?'1':'0';}

3樓:王樂樂

如果你想用bit,可以把char進行位操作,因為c語言不可位定址,最小單位是位元組

4樓:

bit 不是 C 語言中的基本型別。C 中最小的基本型別是 char,由 8 個 bit 所組成。哪怕是 C++ 中只存 true 和 false 的 bool 型別,也占用 8 個 bit 的儲存單元。

由於 bit 不是乙個型別,所以也無法參與到型別轉換中。

如果需要取得乙個 byte 上某個 bit 是 0 還是 1,需要用位運算。基本思路是右移 n 位再與 1 按位與。

5樓:懷念小櫻

是指分離指定位元位嗎?可以用邏輯與,如果取邏輯值的話(x!=0)的結果應該可以吧

如果是問過程,就不大懂了。。。

C語言中強制型別轉換是如何實現的?

涇渭漳淮 強制轉換時怎麼實現的?通常是由單獨的CPU指令實現的,也就是硬體實現的。5立方之後是125,125開立方之後是幾?嚴格的數學上應該是5,但實際上計算機有精度的限制,計算結果會有誤差,計算機計算得到的結果可能是4.9999999999999435452340065849之類的,將這個值直接取...

厲害的程式設計師是怎麼把 Bug 盡可能的轉化成編譯錯誤的?

hua liu 用spring之類框架時,用註解替代xml。xml的優點是該一些屬性引數不需要重新編譯。但是缺點就是把問題延遲到執行時才觸發。甚至說一些懶載入的反射類,啟動時也發現不了,只有執行過程中例項化時才報找不到類定義的異常。後來乾脆所有都用註解,而且能不用反射的盡量不用,這樣全世界都安靜了 ...

程式裡0和1是怎麼轉化成高低電平的?(最初的受0和1控制的高低電平如何產生的?)

小龍 如果是從軟盤硬碟輸入就直接讀取磁場,有電磁感應產生電壓,再經過三極體放大,如果是晶元類的那就用 非易失性儲存器 順序讀取然後輸入到cpu,這樣簡單的理解吧 已修改 看了其他人的答案,估計你還是懵逼狀態。回歸本質看問題。如果我沒有記錯應該是半導體電晶體。基本原理可以看三極體的工作,這裡簡單給予一...