進製轉換,記憶體儲存格式,原始碼,反碼,補碼

2021-07-15 17:58:34 字數 1107 閱讀 5514

1.178 轉2,8,16;

178轉2步驟:

178除2得89餘0;

89除2得44餘1;

44除2得22餘0;

22除2得11餘0;

11除2得5餘1;

5除2得2餘1;

2除2得1餘0;

over,最終結果為:10110010

178轉8步驟:

178除8得22餘2;

22除8得2餘6;

over,最終結果:0262

178轉16步驟:

178除16得b餘2;

over,最終結果:0xb2

還有小數的轉換方法:

十進位制小數轉換為二進位制的方法是乘以2取整,如:

0.625*2 = 1.25 取整 1

0.25*2 = 0.5 取整0

0.5*2 = 1 取整1

(0.625)10 = (0.101)2

(0.25)10 = (0.01)2

(0.5)*2 = (0.1)2

課件習題:

指定字母a,輸出小寫。asci碼中,小寫比大寫大32

#include 

void main(){

char c1 = 'a';

char c2 = c1 + 32;

printf("%c\n",c2); //輸出小寫字母

printf("%d",c2); //輸出小寫字母的ascii碼

getchar();

原始碼,反碼,補碼:正整數的三個碼都是一樣的,負數的反碼是原始碼取反,補碼是末位補1.

用二進位制表示帶符號的數值時,最高位是符號位,0代表正,1代表負。

乙個int型數值有4個位元組,一共32位,去掉最高位上的佔位符,數值位還有31位,即數值位的最高位是2^30次方,所以正數一側可以表示的最高位是0111 1111 1111 1111 1111 1111 1111 1111就是2^31-1。負數部分因為反碼末位要補1,所以1000 0000 0000 0000 0000 0000 0000 0000才是負數一側的最小值,即2^32,比正數部分多1.其他位元組的帶符號的字元取值方式與之相同。

Golang 進製 原始碼反碼補碼 位運算

對於整數,有四種表示方式 1 二進位制 0,1 滿 2 進 1。在 golang 中,不能直接使用二進位制來表示乙個整數,它沿用了 c 的特點。2 十進位制 0 9 滿 10 進 1。3 八進位制 0 7 滿 8 進 1.以數字 0 開頭表示。4 十六進製制 0 9 及 a f,滿 16 進 1.以...

C語言進製之間的轉換(原始碼)

以下 中提供兩個函式,用於將十進位制轉換和其他進製和其他進製轉換為十進位制 info 提供2 8 10 16進製制之間相互轉換的兩個函式 正整數 更新日期 2020.2.23 include include include include num為要轉換的十進位制數,format是要轉換的目標進製,...

二進位制的原始碼 反碼及補碼

關於計算機的原始碼 反碼 補碼其實都是越搞越複雜,聽課聽了很久後逛論壇發現乙個帖子寫的很好 但是不記得鏈結了 反正大致意思就是最開始 就沒有原始碼反碼補碼的概念,計算機實際上是不會做減法運算的,他所有的計算都是基於加法的,最開始的計算機就是加法機 做的減法運算都是 變成了加上乙個數字的負數,然而計算...