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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1689|回復(fù): 20
收起左側(cè)

這個(gè)C語(yǔ)言程序 數(shù)據(jù)類型轉(zhuǎn)換是不是有什么問(wèn)題?

[復(fù)制鏈接]
ID:705846 發(fā)表于 2024-4-21 17:51 | 顯示全部樓層 |閱讀模式
請(qǐng)教大家,
下面的if(watt < jiyiwatt*(1-set3/100.0)) 這個(gè)判定有時(shí)有效,有時(shí)無(wú)效。

是不是數(shù)據(jù)類型轉(zhuǎn)換的時(shí)候有問(wèn)題。

#define uchar unsigned char
#define uint unsigned int

uint jiyiwatt,watt;
uchar set3=10;

if(watt < jiyiwatt*(1-set3/100.0)){ // set3是下調(diào)百分比
        state = 3;
        sdown = 0;
        }else {
        npp = 1;
        state = 1;
        }

回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-4-21 20:04 | 顯示全部樓層
10/100=0這么簡(jiǎn)單的常識(shí)都不懂才會(huì)犯這種低級(jí)錯(cuò)誤。
回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-4-21 21:02 來(lái)自手機(jī) | 顯示全部樓層
Hephaestus 發(fā)表于 2024-4-21 20:04
10/100=0這么簡(jiǎn)單的常識(shí)都不懂才會(huì)犯這種低級(jí)錯(cuò)誤。

請(qǐng)問(wèn)應(yīng)該怎么修改一下
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-4-21 21:07 | 顯示全部樓層
samxon 發(fā)表于 2024-4-21 21:02
請(qǐng)問(wèn)應(yīng)該怎么修改一下

不知道你的數(shù)據(jù)范圍,無(wú)法修改。
回復(fù)

使用道具 舉報(bào)

ID:712493 發(fā)表于 2024-4-21 21:08 | 顯示全部樓層
Hephaestus 發(fā)表于 2024-4-21 20:04
10/100=0這么簡(jiǎn)單的常識(shí)都不懂才會(huì)犯這種低級(jí)錯(cuò)誤。

這個(gè)有小數(shù)點(diǎn),愿意是不是弄小數(shù)點(diǎn)判斷?
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-4-21 21:26 | 顯示全部樓層
fj51hei 發(fā)表于 2024-4-21 21:08
這個(gè)有小數(shù)點(diǎn),愿意是不是弄小數(shù)點(diǎn)判斷?

只要set3=10是整形(char/int/long),那么set3/100必然等于0,無(wú)論100有沒(méi)有小數(shù)點(diǎn)。
回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-4-21 21:34 來(lái)自手機(jī) | 顯示全部樓層
Hephaestus 發(fā)表于 2024-4-21 21:07
不知道你的數(shù)據(jù)范圍,無(wú)法修改。

set1的范圍是1-99。得到的結(jié)果應(yīng)轉(zhuǎn)成整形。 jiyiwatt*(1-set3/100.0)應(yīng)轉(zhuǎn)成整形。謝謝!
回復(fù)

使用道具 舉報(bào)

ID:1088185 發(fā)表于 2024-4-21 21:54 | 顯示全部樓層
if(watt < jiyiwatt*(1-set3/100.0))
改為
if(watt < (jiyiwatt*(1-set3)/100))
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-4-21 22:52 | 顯示全部樓層
1600277881 發(fā)表于 2024-4-21 21:54
if(watt < jiyiwatt*(1-set3/100.0))
改為
if(watt < (jiyiwatt*(1-set3)/100))

又錯(cuò)了,運(yùn)算符乘除法比加減法優(yōu)先級(jí)高,是小學(xué)就應(yīng)該學(xué)過(guò)的。
回復(fù)

使用道具 舉報(bào)

ID:1088185 發(fā)表于 2024-4-21 23:03 | 顯示全部樓層
Hephaestus 發(fā)表于 2024-4-21 22:52
又錯(cuò)了,運(yùn)算符乘除法比加減法優(yōu)先級(jí)高,是小學(xué)就應(yīng)該學(xué)過(guò)的。

是的,這是看錯(cuò)了,應(yīng)該是
if(watt < jiyiwatt*(1-set3/100.0))
if(watt < (jiyiwatt-jiyiwatt*set3/100.0))

回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-4-21 23:12 來(lái)自手機(jī) | 顯示全部樓層
set3是一個(gè)整數(shù),程序原意是通過(guò)除100將百分比轉(zhuǎn)換成小數(shù),再用1減。
回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-4-22 07:02 來(lái)自手機(jī) | 顯示全部樓層
1600277881 發(fā)表于 2024-4-21 23:03
是的,這是看錯(cuò)了,應(yīng)該是
if(watt < jiyiwatt*(1-set3/100.0))
if(watt < (jiyiwatt-jiyiwatt*set3/1 ...

watt < jiyiwatt*(1-set3/100.0))沒(méi)什么區(qū)別吧。
回復(fù)

使用道具 舉報(bào)

ID:1109793 發(fā)表于 2024-4-22 07:17 | 顯示全部樓層
要么int,要么char,為啥非要/100?把前邊的數(shù)都*100,也就不用最后除100了,這樣不就是都是int了?
回復(fù)

使用道具 舉報(bào)

ID:517951 發(fā)表于 2024-4-22 07:32 | 顯示全部樓層
c語(yǔ)言中, 整形變量可以比較大小, 浮點(diǎn)數(shù)據(jù)是不能直接比大小的. 這個(gè)也要注意.
回復(fù)

使用道具 舉報(bào)

ID:384109 發(fā)表于 2024-4-22 07:34 | 顯示全部樓層
數(shù)據(jù)強(qiáng)制類型轉(zhuǎn)換
回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-4-22 08:48 | 顯示全部樓層
謝謝大家回復(fù),大家能不能告訴一下,下面每一步算出來(lái)的數(shù)是什么類型,值是多少。
set3的取值范圍是5-99,
這一步計(jì)算出來(lái)的值
jiyiwatt*(1-set3/100.0)


#define uchar unsigned char
#define uint unsigned int

uint jiyiwatt,watt;
uchar set3=10;



if(watt < jiyiwatt*(1-set3/100.0)){ // set3是下調(diào)百分比
        state = 3;
        sdown = 0;
        }else {
        npp = 1;
        state = 1;
        }
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2024-4-22 11:27 | 顯示全部樓層
jiyiwatt*(1-set3/100.0)改成
(jiyiwatt*(100-set3))/100
回復(fù)

使用道具 舉報(bào)

ID:1088185 發(fā)表于 2024-4-22 12:57 | 顯示全部樓層
samxon 發(fā)表于 2024-4-22 07:02
watt < jiyiwatt*(1-set3/100.0))沒(méi)什么區(qū)別吧。

你試過(guò)了么?試過(guò)后你再下結(jié)論吧
回復(fù)

使用道具 舉報(bào)

ID:705846 發(fā)表于 2024-4-22 13:29 | 顯示全部樓層
這樣似乎解決了,還在測(cè)試中,高手們看看到底解決沒(méi)解決呢,
if(watt < (uint)(jiyiwatt*(100-set3)/100))
回復(fù)

使用道具 舉報(bào)

ID:1088185 發(fā)表于 2024-4-22 14:06 | 顯示全部樓層
samxon 發(fā)表于 2024-4-22 13:29
這樣似乎解決了,還在測(cè)試中,高手們看看到底解決沒(méi)解決呢,
if(watt < (uint)(jiyiwatt*(100-set3)/100))

如果說(shuō)set3的范圍是0..100, 這種寫法解決不了,只是把你碰到的問(wèn)題移位了,不信你試試
回復(fù)

使用道具 舉報(bào)

ID:1088185 發(fā)表于 2024-4-22 14:11 | 顯示全部樓層
samxon 發(fā)表于 2024-4-22 13:29
這樣似乎解決了,還在測(cè)試中,高手們看看到底解決沒(méi)解決呢,
if(watt < (uint)(jiyiwatt*(100-set3)/100))

if(watt < (jiyiwatt-jiyiwatt*set3/100.0))

用excel 把范圍設(shè)定好,對(duì)比一下這幾個(gè)方式的誤差就優(yōu)劣了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 四虎永久免费影院 | 国产毛片久久久久久久久春天 | 国产一区二区黑人欧美xxxx | 久久艹免费视频 | 亚洲视频二区 | 538在线精品 | 中文字幕在线观看日韩 | 亚洲成人精品一区 | 国产农村妇女精品一二区 | 日韩一及片 | 羞羞的视频网站 | 天天操天天干天天透 | 盗摄精品av一区二区三区 | 久草网址| 久久久久久久久中文字幕 | 精品国产31久久久久久 | 国产成人精品久久二区二区91 | 久久精品欧美电影 | 中文字幕一区二区三区在线观看 | 欧美中文字幕一区二区三区 | 欧美综合在线观看 | a黄毛片| 国产一区二区三区精品久久久 | 成人综合视频在线 | 麻豆久久久久久久 | 成人国产在线视频 | 羞羞羞视频 | 国产一区二区高清在线 | 久久久精品一区二区三区四季av | 亚洲一区视频在线播放 | 精品国产一区探花在线观看 | 欧美aa在线 | 久久久九九 | 宅男噜噜噜66一区二区 | 九九综合 | 久久久噜噜噜www成人网 | 国产成人高清在线观看 | 丁香五月缴情综合网 | 蜜臀久久99精品久久久久久宅男 | 久久久精品视 | 国产成人av在线 |