上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
還是零分 散播福音的祭司
註冊時間: 2007-09-19 文章: 164
653.83 果凍幣
|
發表於: 2008-5-10, PM 4:57 星期六 文章主題: 這應該是個運算子吧 |
|
|
有時會看到別人的程式裡有這個式子
x<<y
x,y是整數
試了一下我覺得"<<"的意義如下
x<<y 等於x乘以2的y次方
x>>y 等於x除以2的y次方
而且x,y好像只能用int宣告
我在書上沒看到這東西
網路上也不知道怎麼找
有人能告訴我這運算子是什麼嗎?
這是C的標準語法嗎?
還是C++才有 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-10, PM 7:56 星期六 文章主題: Re: 這應該是個運算子吧 |
|
|
還是零分 寫到: | 有時會看到別人的程式裡有這個式子
x<<y
x,y是整數
試了一下我覺得"<<"的意義如下
x<<y 等於x乘以2的y次方
x>>y 等於x除以2的y次方
而且x,y好像只能用int宣告
我在書上沒看到這東西
網路上也不知道怎麼找
有人能告訴我這運算子是什麼嗎?
這是C的標準語法嗎?
還是C++才有 |
這屬於位元運算子(bitwise operator)
<<叫做位元左移運算子
>>叫做位元右移運算子
兩者總稱是位元移位運算子
x>>y是指x的二進位格式往右移y個位元
x<<y是指x的二進位格式往左移y個位元
x、y皆須是整數型態(char、short、int、long…)
不過我不確定y是否可以為負數…
因為是二進位,所以你說的也沒錯,往右移y個位元跟除以2的y次方是一樣的
不過以位元移位運算子來運算的速度會比以除號運算子運算來得快
所以如果是做2的次方的乘除運算,可以盡量使用位元移位運算子來做
用法上要注意的是
左移後必定把最左邊的y個位元擠掉,然後最右邊會增加新的y個位元
右移也是同理的情況
一般來說新增的y個位元會以0填入
但是在x是負數時,依編譯器的不同
有的會一律填入0,有的會在右移時在新增的y個位元填入原本最左位元的值
這是為了符合負數除法的一致性
因此在x為負數時最好不要使用位元移位運算子來做運算
這應該是C語言就有的東西
照理來說一般的C/C++入門書上都會有介紹
你可以查查你的書上介紹位元邏輯運算子(| & ^ ~)的章節
應該會放在一起介紹才是
要是找不到的話
你該考慮換一本參考書了 |
|
回頂端 |
|
|
還是零分 散播福音的祭司
註冊時間: 2007-09-19 文章: 164
653.83 果凍幣
|
發表於: 2008-5-10, PM 8:29 星期六 文章主題: |
|
|
書上的確有寫
只寫了"位元右移,位元左移"八字箴言 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-10, PM 9:53 星期六 文章主題: |
|
|
還是零分 寫到: | 書上的確有寫
只寫了"位元右移,位元左移"八字箴言 |
ㄆ
那你該換一本書了
你現在是用哪一本? |
|
回頂端 |
|
|
還是零分 散播福音的祭司
註冊時間: 2007-09-19 文章: 164
653.83 果凍幣
|
發表於: 2008-5-11, AM 12:27 星期日 文章主題: |
|
|
yag 寫到: | 還是零分 寫到: | 書上的確有寫
只寫了"位元右移,位元左移"八字箴言 |
ㄆ
那你該換一本書了
你現在是用哪一本? |
visual c++程式設計入門與應用
全華出版的
當初去書局隨便找的一本
覺得不會很厚就買了
作者只寫"書英資訊"(很怪對吧)
後來在學校的圖書館翻到內容一樣的書
我那本教到"樣板"
圖書館的則繼續寫GDI.基礎的MFC(這樣才能叫"visual"嘛)
所以我買的是抄別人內容的書
這本書我現在沒在看了
只翻筆記本
我另外有寫一本筆記本
在看書寫程式的時候把書上沒有的結果寫下 |
|
回頂端 |
|
|
yag Site Admin
註冊時間: 2007-05-02 文章: 689
2704.11 果凍幣
|
發表於: 2008-5-11, AM 8:56 星期日 文章主題: |
|
|
還是零分 寫到: | visual c++程式設計入門與應用
全華出版的
當初去書局隨便找的一本
覺得不會很厚就買了
作者只寫"書英資訊"(很怪對吧)
後來在學校的圖書館翻到內容一樣的書
我那本教到"樣板"
圖書館的則繼續寫GDI.基礎的MFC(這樣才能叫"visual"嘛)
所以我買的是抄別人內容的書
這本書我現在沒在看了
只翻筆記本
我另外有寫一本筆記本
在看書寫程式的時候把書上沒有的結果寫下 |
嗯 聽起來還真是糟糕的書
visual不visual、c++不c++的
建議你還是去買本C++ Primer 4/e
從頭看一遍
把C++基礎再打得堅固點
畢竟C++的標準也是有一直在修改
樣板的地方已經改進滿多的了
另外STL也是寫遊戲程式時必須使用到的部份
聽你說你那本只教到樣板
那恐怕也沒有介紹到STL吧? |
|
回頂端 |
|
|
還是零分 散播福音的祭司
註冊時間: 2007-09-19 文章: 164
653.83 果凍幣
|
發表於: 2008-5-11, PM 12:10 星期日 文章主題: |
|
|
引言回覆: | 嗯 聽起來還真是糟糕的書
visual不visual、c++不c++的
建議你還是去買本C++ Primer 4/e
從頭看一遍
把C++基礎再打得堅固點
畢竟C++的標準也是有一直在修改
樣板的地方已經改進滿多的了
另外STL也是寫遊戲程式時必須使用到的部份
聽你說你那本只教到樣板
那恐怕也沒有介紹到STL吧? |
的確沒講STL
C++ Primer 4/e作者是Lippman吧?
我會翻看看的 |
|
回頂端 |
|
|
babu61509 散播福音的祭司
註冊時間: 2007-08-26 文章: 142
681.01 果凍幣
|
發表於: 2008-5-12, AM 9:50 星期一 文章主題: |
|
|
這東西應該算是組合語言殘留下來的吧0.0
-------------------------------------------------
樣板...是指事先定義好介面,然後後面要建立物件時再去實做的意思嗎0.0
STL...可以吃嗎 (毆 _________________ 已經畢業了!! |
|
回頂端 |
|
|
|