c语言整形符号位_C语言中整型无符号二进制数的表示问题
龍源期刊網
http://www.qikan.com.cn
C
語言中整型無符號二進制數的表示問題
作者:馬紅旭
來源:《電子技術與軟件工程》
2015
年第
20
期
摘
要
文章解決的問題是
C
語言中幾種不同數制的數值型無符號整型數據,轉換成二進制數的方
法。
【關鍵詞】
C
語言
無符號整型數據
二進制數
十進制數
其它進制數
對于
C
語言中的數值型數據,通??梢苑奖愕乇硎境啥喾N不同數制。比如十進制數
100
,
表示成八進制數為
0144
,八進制數以
0
開頭,表示成十六進制數為
0x64
,十六進制數以
0X
開
頭。然而
C
語言卻沒有直接的二進制表示辦法,這里將討論,把幾種不同數制無符號整型數
據,表示成二進制數的方法。另外還討論了把二進制無符號數表示成十進制的方法。
1
十進制無符號整數表示成二進制數
十進制無符號整數轉換為二進制數,采用
“
除
2
取余
”
,余數逆序排列法。具體步驟是:用
2
整除十進制整數,可以得到一個商
Q0
和余數
D0
;再用
2
去除商
Q0
,又會得到一個商
Q1
和
余數
D1
,接著用
2
去除商
Q1
,又會得到一個商
Q2
和余數
D2
,依此類推,直到商
Qn
為
0
時
停止,然后把先得到的余數
D0
作為二進制數的低位有效位,后得到的余數
Dn
作為二進制數
的高位有效位,依次排列起來得到:
Dn…D4D3D2D1D0
,這個
Dn…D4D3D2D1D0
就是我們需
要的十進制整數轉換為二進制數的結果。
根據上述原理,我們編寫了一個轉換函數
tentow
(),函數功能是:用戶輸入一個十進制
數,程序自動把它對應的二進制數顯示出來。
程序代碼如下:
#include?"stdio.h"
void?tentow
()
{int?a[32]
,
i=0
;
long?num
;
printf
(
"
請輸入一個十進制無符號整數:
"
);
scanf
(
"%ld"
,
&num
);
總結
以上是生活随笔為你收集整理的c语言整形符号位_C语言中整型无符号二进制数的表示问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迁移confluence
- 下一篇: NXP JN5169 UART波特率问题