Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C和Arduino中的有趣除法_C#_C_Arduino_Division - Fatal编程技术网

C# C和Arduino中的有趣除法

C# C和Arduino中的有趣除法,c#,c,arduino,division,C#,C,Arduino,Division,TL;博士 为什么 返回3而不是4 嘿,我在Arduino IDE中的时候确实有这个疑问,但为了验证我是否尝试了另一个C编译器。有关守则如下: Serial.println(42/10); 这工作正常,显示4。这是有趣的一点 Serial.println(042/10); 这是报税表3 这似乎很基本,但我找不到合适的帖子来回答这个问题。提前谢谢 Serial.println(042/010)将输出4 起源于C语言的早期,当时八进制数至少比现在更为常见(?)。一旦它被定义,你就永远不能改变它。

TL;博士 为什么

返回3而不是4

嘿,我在Arduino IDE中的时候确实有这个疑问,但为了验证我是否尝试了另一个C编译器。有关守则如下:

Serial.println(42/10);
这工作正常,显示4。这是有趣的一点

Serial.println(042/10);
这是报税表3

这似乎很基本,但我找不到合适的帖子来回答这个问题。提前谢谢

Serial.println(042/010)将输出
4


起源于C语言的早期,当时八进制数至少比现在更为常见(?)。一旦它被定义,你就永远不能改变它。

前导零表示它是八进制。042等于十进制的34。而34/10实际上是3,使用整数数学。

来自
printf的
042
(“%d\n”,042/10)被解释为八进制值:

042(10月)=34(12月)


所以你的分数实际上是:
(int)34/10
=3

这是一个答案吗?至少解释一下前导零的意思是“八进制”…八进制数至少比现在更常见一些的时候,你没有玩太多Arduino对吧?@DavidRanieri,您在为Arduino编码时使用了八进制?@Juraj小于十六进制但大于小数我的问题是这个答案让人觉得编写
042/010
就像用户想要的那样。但是它实际上是34/8,这里不清楚。哦,伙计,谢谢。我认得你的把手。谢谢你所有的帖子!
Serial.println(042/10);