久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4933|回復(fù): 10
打印 上一主題 下一主題
收起左側(cè)

unsigned char 和 signed char的使用疑惑

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:521921 發(fā)表于 2019-6-3 09:47 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
各位大咖,我是小白,有個(gè)疑問請教下:

以下這個(gè)代碼中,i用的是signed char,可以改成用unsigned char嗎?為什么?我一直搞不懂什么時(shí)候該用unsigned char,什么時(shí)候該用signed char。謝謝!

void ShowNumber(unsigned long num)
{
   signed char i;
   unsigned char buf[6];

    for(i=0; i<6; i++)   //把長整型數(shù)轉(zhuǎn)換為6位十進(jìn)制的數(shù)組
   {
       buf[i] = num % 10;
       num = num / 10;
   }
    for(i=5; i>=1; i--)   //從最高位起,遇到0轉(zhuǎn)換為空格,遇到非0則退出循環(huán)
   {
       if(buf[i] == 0)
              LedBuff[i] = 0xFF;
       else
              break;
   }

    for( ; i >= 0; i--)   //剩余低位都如實(shí)轉(zhuǎn)換為數(shù)碼管顯示字符
    {
          LedBuff[i] = LedChar[ buf[i] ];
    }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:93224 發(fā)表于 2019-6-3 13:20 | 只看該作者
一個(gè)是有符號的范圍是-128 - 127; 一個(gè)是無符號的 范圍是 0 - 255
回復(fù)

使用道具 舉報(bào)

板凳
ID:517466 發(fā)表于 2019-6-3 13:54 | 只看該作者
對于一個(gè)字節(jié)寬度的變量:
范圍介于0~255的,使用unsigned。
范圍介于-128~127的,使用signed。
回復(fù)

使用道具 舉報(bào)

地板
ID:309376 發(fā)表于 2019-6-3 16:13 | 只看該作者
unsigned:無符號的;unsigned char數(shù)據(jù)范圍為0~255;
signed:有符號的;signed char數(shù)據(jù)范圍是-128~127;
兩個(gè)的使用取決于你要使用的數(shù)據(jù)的范圍,當(dāng)要用到負(fù)數(shù)時(shí)且范圍不超過-128時(shí),使用signed char;當(dāng)不用到負(fù)數(shù)且范圍不超過255時(shí),使用unsigned char
回復(fù)

使用道具 舉報(bào)

5#
ID:511890 發(fā)表于 2019-6-3 17:10 | 只看該作者
signed 是有符號的,也就是有負(fù)值。unsigned是無符號的,沒有負(fù)值。在某些情況下,for循環(huán)只能用有符號的。其實(shí)我覺得for循環(huán)中的循環(huán)變量最好用有符號數(shù) char不夠用用int,再不夠用long。除非必要,最好不要用unsigned的變量。給大家一個(gè)有趣的程序玩玩(是在VS2017上寫的,要換其它編譯軟件,只要把pch.h改成相應(yīng)的頭文件就行,一般好像是studio.h):
#include "pch.h"
#include <iostream>
using namespace std;


int main()
{
//        unsigned char i;//i換成unsigned char型就會(huì)變成死循環(huán)
        signed char i;
        for (i = 7; i > 0; i--) {
                cout << "i=" <<int(i) << endl;
                i--;
        }
   
}
回復(fù)

使用道具 舉報(bào)

6#
ID:554056 發(fā)表于 2019-6-3 20:29 來自觸屏版 | 只看該作者
unsigned char的數(shù)據(jù)范圍是0~255,unsigned int數(shù)據(jù)范圍是–128~127存在負(fù)值。適用范圍不同,如果用到復(fù)數(shù)就用unsigned char
回復(fù)

使用道具 舉報(bào)

7#
ID:554183 發(fā)表于 2019-6-3 22:01 | 只看該作者
unsigned是無符號的,unsigned char的數(shù)據(jù)范圍是0到255
signed是有符號的,signed char數(shù)據(jù)范圍是-128到127
具體根據(jù)你的使用來
回復(fù)

使用道具 舉報(bào)

8#
ID:388197 發(fā)表于 2019-6-4 01:13 | 只看該作者
unsigned char 的值是0-255
比如
unsigned char a = 0;
unsigned char b = 255;
a--;
b++;
執(zhí)行后,a為255, b為0.
如果用unsigned 類型的做循環(huán)判斷變量時(shí),一定要注意不能以 a<0或者 a<=255作為條件,否則就會(huì)成死循環(huán).一般循環(huán)變量同時(shí)用作數(shù)組下標(biāo)時(shí),容易出現(xiàn)這種錯(cuò)誤.
回復(fù)

使用道具 舉報(bào)

9#
ID:123289 發(fā)表于 2019-6-4 08:44 | 只看該作者
本帖最后由 yzwzfyz 于 2019-6-4 11:28 編輯

記住:在芯片內(nèi)部沒有正負(fù)之分,它就是個(gè)8位二進(jìn)制數(shù),最小00000000B=0,最大11111111B=255,
如果必須表達(dá)負(fù)數(shù),怎么辦?芯片內(nèi)部沒有“負(fù)號”,所以就定義用8位中的首位作為“負(fù)號”,且“1”=負(fù),“0”表示正,這樣就形成所謂的有符號數(shù)了:
正數(shù)范圍0-0000000B=0,0-1111111B=127,
自然負(fù)數(shù)的范圍就是:1-0000000B至1-1111111B,
負(fù)數(shù)有兩種表示方案:
第一種:1-0000000B=-0=0、1-1111111B=-127;好處是直觀,缺點(diǎn)-0=0,與0-0000000B重復(fù),浪費(fèi)了。其表達(dá)范圍只有255個(gè)數(shù)(-127至+127)。
第二種:1-0000000B=-128、1-1111111B=-1;好處是表達(dá)范圍比第一種多出一個(gè),256個(gè)數(shù)(-128至+127)。
第二種是標(biāo)準(zhǔn)表達(dá)方式!
但不要認(rèn)為第一種就是錯(cuò)的,在某此場合下它還是比較實(shí)用的。這要看你最終是如果翻譯。不建議采用第一種,至少目前C不支持它,只能在匯編在應(yīng)用。
回復(fù)

使用道具 舉報(bào)

10#
ID:521921 發(fā)表于 2019-6-5 09:02 | 只看該作者
謝謝各位!
回復(fù)

使用道具 舉報(bào)

11#
ID:550032 發(fā)表于 2019-6-5 10:03 | 只看該作者
unsigned是無符號的,singed是有符號的
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天天射美女 | 黄色一级大片在线观看 | 午夜激情国产 | 第一区在线观看免费国语入口 | 亚洲精品久久久一区二区三区 | aaa国产大片 | 一区二区三区在线观看视频 | 久久久成人免费视频 | 欧美精品在线免费观看 | 精产嫩模国品一二三区 | 我爱操 | 欧美韩一区二区三区 | 日本久久久久久久久 | 亚洲国产精品99久久久久久久久 | 色婷婷亚洲国产女人的天堂 | 日日摸日日碰夜夜爽2015电影 | 成人影院免费视频 | 国产亚洲精品久久午夜玫瑰园 | 国产这里只有精品 | 国产真实乱全部视频 | 不卡视频一区二区三区 | 欧美在线一区二区三区四区 | 久久av一区二区三区 | 午夜激情影院 | 蜜桃精品视频在线 | 鸳鸯谱在线观看高清 | 古典武侠第一页久久777 | 福利影院在线看 | 成人免费视频 | 久草在线青青草 | 一区二区三区四区在线视频 | 午夜a√| 中文字幕第100页 | 免费国产黄网站在线观看视频 | 秋霞影院一区二区 | 亚洲黄色视屏 | 亚洲一区二区三区四区五区午夜 | 色综合网站| 欧美一区二区视频 | 最新日韩在线视频 | 日韩一区二区三区视频 |