[問題] 溢位

看板C_and_CPP作者 (revanchist)時間2年前 (2021/09/20 20:33), 編輯推噓16(17144)
留言62則, 15人參與, 2年前最新討論串1/1
#include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { int x; int y; int h; x=9*52*47+3*68*47+1*68*52; y=68*52*47; h=100*100*100; k=1000000; printf("\nx=%d, y=%5d, h=%10d,k=%d\n", x,y,h,k); return 0; } 輸出的x,y,h,k 竟然溢位 這是怎麼回事 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.252.170.184 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1632141228.A.A7F.html

09/20 20:37, 2年前 , 1F
你用什麼編譯器,還有k沒宣告
09/20 20:37, 1F

09/20 20:55, 2年前 , 2F
turbo c++ 3.0
09/20 20:55, 2F

09/20 20:57, 2年前 , 3F
看網路上說Turbo C++的int只有16 bit,那當然會溢位
09/20 20:57, 3F

09/20 21:00, 2年前 , 4F
為什麼會出現 Turbo C++ 3.0,我穿越到哪一年了?
09/20 21:00, 4F

09/20 21:09, 2年前 , 5F
Dr. strange on duty
09/20 21:09, 5F

09/20 21:22, 2年前 , 6F
改成 long int 也一樣
09/20 21:22, 6F

09/20 21:27, 2年前 , 7F
你那個年代的 CPU 要開保護模式才有 32-bit 可以用
09/20 21:27, 7F

09/20 21:27, 2年前 , 8F
Turbo C 就不支援保護模式指令啊
09/20 21:27, 8F

09/20 21:41, 2年前 , 9F
https://www.codeblocks.org/ 你看得見這個網站嗎?
09/20 21:41, 9F

09/20 21:42, 2年前 , 10F
下載這個 Code::Blocks 來編譯就不會溢位了
09/20 21:42, 10F

09/20 21:51, 2年前 , 11F
現在的CPU也不能使用turbo c++ ˇ3.0的32-bit?
09/20 21:51, 11F

09/20 22:26, 2年前 , 12F
這樣說好了,Turbo C 根本不認識新的 CPU 也無法使用新
09/20 22:26, 12F

09/20 22:27, 2年前 , 13F
CPU 的功能,因為他根本就不曉得怎麼用
09/20 22:27, 13F

09/20 22:30, 2年前 , 14F
其實有點好奇為什麼會想用上個世紀的編譯器
09/20 22:30, 14F

09/20 22:30, 2年前 , 15F
有什麼特殊的苦衷嗎?
09/20 22:30, 15F

09/21 13:33, 2年前 , 16F
使用codeblocks int也是2 bytes
09/21 13:33, 16F

09/21 13:33, 2年前 , 17F
怎麼解決?
09/21 13:33, 17F

09/21 15:28, 2年前 , 18F
自己實做大數運算
09/21 15:28, 18F

09/21 16:33, 2年前 , 19F
看一下data model。codeblock可能用到原本的編譯器。另
09/21 16:33, 19F

09/21 16:33, 2年前 , 20F
,你在啥平台?
09/21 16:33, 20F

09/21 18:33, 2年前 , 21F
int32_t int16_t
09/21 18:33, 21F

09/21 18:37, 2年前 , 22F
Turbo C 還能用什麼平台?但是你究竟用什麼平台?
09/21 18:37, 22F

09/21 19:07, 2年前 , 23F
其實我覺得就算在 TC++, long 應該也是 4 bytes. 雖然 D
09/21 19:07, 23F

09/21 19:07, 2年前 , 24F
OS 是 16 位元的作業系統,TC++ 編出來的也是真實模式的
09/21 19:07, 24F

09/21 19:07, 2年前 , 25F
機器碼,但還是有辦法用軟體實作 32-bit 數值運送的
09/21 19:07, 25F

09/21 19:08, 2年前 , 26F
但,都已經 2021 年了,拜託別再用 TC++ 了
09/21 19:08, 26F

09/21 19:35, 2年前 , 27F
改用 python 就好了
09/21 19:35, 27F

09/21 20:22, 2年前 , 28F
codeblocks 用到原來的編譯器, 索以才會出現這個錯誤
09/21 20:22, 28F

09/21 20:49, 2年前 , 29F
有些課程用比較古老的教材就需要用古老的 compiler
09/21 20:49, 29F

09/21 21:36, 2年前 , 30F
那教材也太古老了,要學這種東西不如不要學。
09/21 21:36, 30F

09/21 21:51, 2年前 , 31F
樓上太激動了點,但現代多的是免費新教材,何必看舊書?
09/21 21:51, 31F

09/21 21:52, 2年前 , 32F
就算去地區公立圖書館也不難借到新一點的 C 語言書籍
09/21 21:52, 32F

09/21 22:03, 2年前 , 33F
學校教材就用舊的啊,學生又控制不了XD
09/21 22:03, 33F

09/21 22:04, 2年前 , 34F
不過也還好吧,了解一些過去精美的程式寫法我覺得不算
09/21 22:04, 34F

09/21 22:04, 2年前 , 35F
壞事。
09/21 22:04, 35F

09/22 00:32, 2年前 , 36F
所以我感慨的就是學校居然還用這麼舊的教材。TC++ 是我
09/22 00:32, 36F

09/22 00:33, 2年前 , 37F
快30年前唸大學時用的編譯器。只用了不到一年,就改用
09/22 00:33, 37F

09/22 00:34, 2年前 , 38F
BC++3.1。我記得那年就有在說TC++3.0版本太舊、有bug...
09/22 00:34, 38F

09/22 00:35, 2年前 , 39F
在20幾年前就被認為過時的東西,為什麼現在還叫學生用?
09/22 00:35, 39F

09/22 00:37, 2年前 , 40F
現在免費的編譯器那麼多,支援最新的C/C++語法,重點是
09/22 00:37, 40F

09/22 00:38, 2年前 , 41F
編輯器、除錯器比當年TC/BC的IDE強上幾百倍,為何不用?
09/22 00:38, 41F

09/22 00:39, 2年前 , 42F
再來,我不認為舊的東西不好。我這幾年也很痴迷一些老技
09/22 00:39, 42F

09/22 00:40, 2年前 , 43F
術,像是8-bit時代的繪圖技巧。但TC++3.0絕對跟「精美」
09/22 00:40, 43F

09/22 00:42, 2年前 , 44F
兩字無緣。如果老師真的要教DOS時代的技術,然後教 DOS
09/22 00:42, 44F

09/22 00:42, 2年前 , 45F
extender 之類的東西,我就無話可說。
09/22 00:42, 45F

09/22 01:16, 2年前 , 46F
了解歷史上的精美技巧應該是基礎打穩之後才要做的事
09/22 01:16, 46F

09/22 01:17, 2年前 , 47F
然而教材過舊的狀況卻常常出現在高中職電腦課
09/22 01:17, 47F

09/22 01:19, 2年前 , 48F
另一個我不滿的點是 Turbo C 或 VC 6.0 都是要付費的
09/22 01:19, 48F

09/22 01:19, 2年前 , 49F
明明有新的免費開發環境,卻硬要用盜版品究竟有什麼毛病
09/22 01:19, 49F

09/22 01:21, 2年前 , 50F
(30年前很少學校有軟體也要採購的概念,現在則早已停售)
09/22 01:21, 50F

09/22 09:23, 2年前 , 51F
同意。又不是新的東西太貴買不起,更何況盜版本身就錯的
09/22 09:23, 51F

09/22 21:07, 2年前 , 52F
10年前學校就用dec-c++或是後面用免費的vs…
09/22 21:07, 52F

09/23 11:41, 2年前 , 53F
真的學新的就好
09/23 11:41, 53F

09/23 11:42, 2年前 , 54F
我遇到需要用 TC 的是研究所課程啦,但也就其中一兩堂
09/23 11:42, 54F

09/23 11:42, 2年前 , 55F
需要而已,主要也不是在教基礎的程式。
09/23 11:42, 55F

09/23 11:42, 2年前 , 56F
至於說教材過舊嘛...要教的道理都是通的,也沒很嚴重?
09/23 11:42, 56F

09/23 11:45, 2年前 , 57F
現在用TC幾乎都是看real mode的asm code了
09/23 11:45, 57F

09/23 11:46, 2年前 , 58F
現在教assembly code也不一定是必要了
09/23 11:46, 58F

09/23 11:47, 2年前 , 59F
尤其是64-bit CPU上的assembly code 根本太複雜了
09/23 11:47, 59F

09/26 11:16, 2年前 , 60F
這篇文我看下來好好笑 哈哈哈
09/26 11:16, 60F

09/28 12:36, 2年前 , 61F
幹 都民國110年了還在用Turbo C++ 3.0
09/28 12:36, 61F

09/28 12:37, 2年前 , 62F
Visual Studio Community 免費
09/28 12:37, 62F
文章代碼(AID): #1XI7-if_ (C_and_CPP)