tft每日頭條

 > 圖文

 > c語言輸出負數的二進制

c語言輸出負數的二進制

圖文 更新时间:2024-08-22 04:14:04

c語言輸出負數的二進制?為什麼帶符号的1字節最大表示(127),最小可以表示(-128),下面我們就來說一說關于c語言輸出負數的二進制?我們一起去了解并探讨一下這個問題吧!

c語言輸出負數的二進制(C語言之正整數與負數的二進制轉換)1

c語言輸出負數的二進制

為什麼帶符号的1字節最大表示(127),最小可以表示(-128)

最左邊的一位如果是1就代表的是負數,如果是0就是正數

(1000 0000)== -128

(0111 1111)== 127


帶符号的1字節(unsigned char)如果用二進制表示十進制的5;

二進制(0000 0101) == 十進制 5;

那負5如何表示呢?//把每位按位取反加1;

先取反(1111 1010),再加1;

就是(1111 1011) == -5

帶符号的類型如果表示正整數,左邊最高位一定是0

帶符号的類型如果表示負整數,如果不夠位數就往左補1,左邊最高位一定是1

#include<stdio.h> int main (void) { unsigned int ch = 5;//用的是4字節的int類型 unsigned int ff = -5; printf("正5的十六進制%#x\n",ch); printf("負5的十六進制%#x\n",ff); return 0; } //C語言沒有二進制輸出,所以就用十六進制給演示了

十六進制轉二進制小技巧

十六進制内的數字表示(0,1,2,3,4,5,6,7,8,9,A,,B,C,D,E,F)

下面是4字節的二進制碼

(1111 1011 1110 0000 1101 0001 1100 0010)

轉換以後的16進制碼

(F B E 0 D 1 C A)

4位二進制等于1個十六進制來計算會更容易理解

C語言中0X代表的是16進制輸出

程序輸出如下

正5的十六進制0x5 負5的十六進制0xfffffffb

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved