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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
12
返回列表 發(fā)新帖
樓主: censv
打印 上一主題 下一主題
收起左側(cè)

表現(xiàn)奇怪的C語言0x80 正數(shù)?負(fù)數(shù)?bug?

  [復(fù)制鏈接]
41#
ID:384109 發(fā)表于 2022-9-26 18:58 | 只看該作者
censv 發(fā)表于 2022-9-26 18:00
那你的意思是常量沒有類型?

不是常量沒有類型,而是類型不分常量或變量,否則有符號(hào)數(shù)怎么和負(fù)數(shù)常量做比較
回復(fù)

使用道具 舉報(bào)

42#
ID:1043747 發(fā)表于 2022-9-29 13:51 | 只看該作者
人中狼 發(fā)表于 2022-9-26 18:58
不是常量沒有類型,而是類型不分常量或變量,否則有符號(hào)數(shù)怎么和負(fù)數(shù)常量做比較

我問 0x80 常量是什么類型,你說 這樣問是偏了,你的偏了是什么意思?
你又說,常量不是沒有類型,那你意思就是常量可能有類型。那常量什么情況下有類型?什么情況下沒有?
回復(fù)

使用道具 舉報(bào)

43#
ID:59202 發(fā)表于 2022-9-29 17:02 | 只看該作者
樓主不是偏了,是有探究精神,但還需要多多努力學(xué)習(xí),我們大家都是這樣走過來的。對(duì)于0x80,我們回歸本質(zhì)在單片機(jī)中就是10000000,它可以是指令也可以是數(shù)據(jù)。而做為數(shù)據(jù)在編譯軟件的眼里它也是多種可能,你規(guī)定它是無符號(hào)數(shù)char它就是128,你規(guī)定它是有符號(hào)char它就是-128,甚至如果編譯軟件里有規(guī)定它還可以表示浮點(diǎn)數(shù),這都不奇怪。我們學(xué)習(xí)c語言就要遵循它的規(guī)定,你違反了它的規(guī)定就會(huì)得到錯(cuò)誤的結(jié)果這很正常
回復(fù)

使用道具 舉報(bào)

44#
ID:392485 發(fā)表于 2022-9-29 17:47 | 只看該作者
你把0x80放到 char型和int型中結(jié)果是不一樣的。定義成int型之后結(jié)果就不一樣了,因?yàn)榈?位在char型中是個(gè)特殊位,在移位的時(shí)候會(huì)先看是做為正數(shù)處理還是作為符號(hào)位處理。keil是8位機(jī)的C語言。
回復(fù)

使用道具 舉報(bào)

45#
ID:146878 發(fā)表于 2022-9-30 01:10 | 只看該作者
是keil沒按C標(biāo)準(zhǔn),樓主按C標(biāo)準(zhǔn)了?
編譯器只要不明寫“該語句不是合法C語言”,那就是合法了。編譯不出來是編譯器的問題。
樓主說了寫常量0x80就應(yīng)該是正數(shù),大家記住,無論身處何地它就是正數(shù),以后開發(fā)編譯器,別亂猜類型。

回復(fù)

使用道具 舉報(bào)

46#
ID:146878 發(fā)表于 2022-9-30 01:20 | 只看該作者
censv 發(fā)表于 2022-9-26 18:00
那你的意思是常量沒有類型?

常量可以有數(shù)據(jù)類型,但是你得表明是什么類型。不然編譯器不知道你要做什么類型。你不標(biāo)明,那編譯器只能根據(jù)你的表達(dá)式去猜測(cè)你寫的常量是什么類型。
回復(fù)

使用道具 舉報(bào)

47#
ID:146878 發(fā)表于 2022-9-30 01:29 | 只看該作者
censv 發(fā)表于 2022-9-14 06:15
if當(dāng)然是判斷真假,a != x80,因?yàn)閍表示為負(fù)數(shù),不等于正數(shù)的字面量0x80,是對(duì)的。
但在第二個(gè)例子,0x8 ...

這樣理解 != ,頭回見,頭回見。
。。。。。我沒說你理解的是錯(cuò)的或怎么的,只是這理解方式,,頭回見。哈哈哈。
回復(fù)

使用道具 舉報(bào)

48#
ID:146878 發(fā)表于 2022-9-30 01:55 | 只看該作者
我送樓主個(gè)例子,相信樓主會(huì)更加堅(jiān)信自己的見解,keil有bug,這么多年無人發(fā)現(xiàn)?
void main(void)
{
  signed char    a = 0x80;
  unsigned char b = 0x80;
  while(1)
  {
  if(a==b)
    LED0= 1; //如果進(jìn)這里,那就是keil出bug了,啊哈哈哈哈哈。
  else
    LED0= 0;
  if(a>0)
    LED1= 1;
  else
    LED1= 0;
  if(b>0)
    LED2= 1;
  else
    LED2= 0;
    a++;
    b++;
  }
}
回復(fù)

使用道具 舉報(bào)

49#
ID:740383 發(fā)表于 2022-9-30 10:22 | 只看該作者
xxxevery 發(fā)表于 2022-9-29 17:02
樓主不是偏了,是有探究精神,但還需要多多努力學(xué)習(xí),我們大家都是這樣走過來的。對(duì)于0x80,我們回歸本質(zhì)在 ...

無符號(hào)范圍char是0-255,,有符合范圍char是-128~+128,這里如果是數(shù)據(jù),就是128,怎么規(guī)定它是浮點(diǎn)?它現(xiàn)在表示的是整數(shù),換算十進(jìn)制:128,想要定義為浮點(diǎn)float或者Double還需要加小數(shù)點(diǎn):128.0,并且也不是你這樣描述的!盲猜樓主是想使用unsigned char與或運(yùn)算,但是沒有&清零多余位.......
回復(fù)

使用道具 舉報(bào)

50#
ID:1043747 發(fā)表于 2022-9-30 16:46 來自觸屏版 | 只看該作者
我在此聲明一下,不要把0x80復(fù)制給變量,再來討論變量。這種討論和問題無關(guān)
回復(fù)

使用道具 舉報(bào)

51#
ID:740383 發(fā)表于 2022-10-5 10:19 | 只看該作者
服,LED引腳初始化了嗎???輸入?輸出?準(zhǔn)雙向?推挽?LED:0點(diǎn)亮還是1點(diǎn)亮???先不說定義,代碼本身就有問題
回復(fù)

使用道具 舉報(bào)

52#
ID:275826 發(fā)表于 2022-10-7 07:22 | 只看該作者
0x80在沒有賦值給變量之前就是整形常量,是正數(shù)128
回復(fù)

使用道具 舉報(bào)

53#
ID:275826 發(fā)表于 2022-10-7 07:25 | 只看該作者
pdwdzz 發(fā)表于 2022-9-30 01:55
我送樓主個(gè)例子,相信樓主會(huì)更加堅(jiān)信自己的見解,keil有bug,這么多年無人發(fā)現(xiàn)?
void main(void)
{

C51的關(guān)系運(yùn)算==編譯成XRL,是有bug
回復(fù)

使用道具 舉報(bào)

54#
ID:526108 發(fā)表于 2022-10-7 08:23 | 只看該作者
188610329 發(fā)表于 2022-9-12 11:49
正負(fù)數(shù),是人為劃定的一個(gè)范圍,你要判斷正負(fù),也是應(yīng)該用if(a

0x80是常量,常量都已unsigned處理
回復(fù)

使用道具 舉報(bào)

55#
ID:526108 發(fā)表于 2022-10-7 08:35 | 只看該作者
常量都是以u(píng)nsigned處理
常量<常量 == unsigned<unsigned

變量比較都是以變量作為單位
unsigned char<常量 == unsigned char<unsigned char
char<常量 == char<char

反匯編可以看這兩條c語言所編譯出來的匯編指令是不一樣的
回復(fù)

使用道具 舉報(bào)

56#
ID:384109 發(fā)表于 2022-10-7 14:41 | 只看該作者
不管常量還是變量,都是先定義類型,再定義數(shù)值的,而且編程語言里還有隱性規(guī)則的,為什么正數(shù)128我們不用寫正號(hào),就是因?yàn)殡[性約定只有負(fù)數(shù)要寫符號(hào),樓主一再強(qiáng)調(diào)0X80是什么數(shù),確一直不能理解是需要先定義數(shù)據(jù)類型的,這個(gè)無法理解樓主為啥想不通,而且又看了樓主的例子,第一個(gè)例子if(a != 0x80),這是一個(gè)比較兩個(gè)數(shù)是否相同而已,又不在于是否有符號(hào)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美v | 免费人成激情视频在线观看冫 | 久久33 | 日本不卡高字幕在线2019 | 欧美日韩亚洲一区 | 国产成人精品免高潮在线观看 | 国产精品久久视频 | 日本淫视频 | 国色天香成人网 | 成人一级黄色毛片 | 国产精品视频一区二区三区不卡 | 91精品国产综合久久久亚洲 | 男女那个视频 | 伊人电影院av | 亚洲欧美日韩精品久久亚洲区 | 亚洲欧美精品国产一级在线 | 色橹橹欧美在线观看视频高清 | 久久国产一区二区三区 | 做a网站| 国产目拍亚洲精品99久久精品 | 亚洲第一天堂 | 久草免费在线视频 | 三级黄色片在线播放 | 久久久av一区 | 日韩久久成人 | 在线观看特色大片免费网站 | 国产精品片aa在线观看 | 日韩av在线一区 | 成人激情视频免费观看 | 亚洲色图综合 | 国产精品久久久久久久久大全 | 国产精品久久午夜夜伦鲁鲁 | 成人免费大片黄在线播放 | 久草青青草 | 久久国产精品一区二区三区 | 亚洲成人一二区 | 婷婷色成人 | 久久精品国产亚洲夜色av网站 | 日本在线网址 | 欧美又大粗又爽又黄大片视频 | 日韩一区二区三区视频 |