第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從零開始的月份編號

從零開始的月份編號

慕森王 2019-12-03 10:56:17
某些流行的編程語言使用的月份編號相差1 – Java和Java一樣,如果要使用內(nèi)存,C是另一個。我有一些問題:如果您要忽略外行使用的月份編號,那么為什么出于一致性考慮,也要忽略外行使用的日期編號,并從0開始對每個月中的天數(shù)進行編號?為什么這么常見?首先是誰的主意?
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經(jīng)驗 獲得超11個贊

使用零開始計數(shù)實際上是Assembly程序員的一種優(yōu)化技巧。他們沒有將1分配給計數(shù)寄存器,而是對其進行了異或運算,這在CPU周期中略快。這意味著計數(shù)將從0開始,并且始終取決于元素的長度(不包括最后一個元素)。

另外,在指針算術(shù)中也使用零,在這種情況下,您將使用一個基本指針指向某些已分配的內(nèi)存,再加上第二個指針,該指針與該基本指針的偏移量。在這里,使用零值將偏移量指向存儲塊的基數(shù)很有意義。(一般的數(shù)組邏輯往往是基地址加上偏移量x記錄大小。)

從零開始的月份數(shù)字?通常,許多編程環(huán)境自某些默認數(shù)據(jù)起將數(shù)據(jù)計算為幾天。1899年12月31日是一個受歡迎的日期,盡管還有許多其他日期用作基準日期。所有其他日期都偏離此基準,并且將僅存儲為一個數(shù)字。分數(shù)將用于表示小時,分鐘和秒,其中0.25表示24/4 = 6小時。因此,要將日期轉(zhuǎn)換為真實日期,所有環(huán)境要做的就是將此數(shù)字轉(zhuǎn)換為真實日期。

但是,從零開始的數(shù)組和從1開始的月份值的組合確實帶來了問題。要獲取第9個月的月份名稱,您必須從month數(shù)組中獲取第8項。一些開發(fā)人員會很樂意在獲得名稱之前減少月份數(shù)。其他人則傾向于將月份更改為從零開始的格式,因為人們只想知道名稱,而不是數(shù)字。這是個人觀點。


查看完整回答
反對 回復 2019-12-03
?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

就是這樣,基于此假設(shè)而構(gòu)建的巨大軟件意味著這將持續(xù)一段時間。

我的看法是這是C的錯,所有其他后來才出現(xiàn)的語言也都遵循了C。

您會從不了解的人那里得到一些有趣的情況。我們的團隊發(fā)現(xiàn)的少數(shù)Y2K錯誤之一是一個網(wǎng)站,自豪地宣稱年份是19100,因為它們在struct tm年份之前加上了文字“ 19”。


查看完整回答
反對 回復 2019-12-03
?
海綿寶寶撒

TA貢獻1809條經(jīng)驗 獲得超8個贊

是的,羅馬人也有零問題。


這只是數(shù)學(是程序設(shè)計的重要組成部分,尤其是早期程序設(shè)計)的[非直覺]結(jié)果,將零定義為第一個(有問題的術(shù)語是一個)實數(shù),正 *自然數(shù),并且由于數(shù)組使用實數(shù)進行了索引,自然數(shù),“第一個”元素位于索引0。


月實際上是數(shù)組中的命名值,其中天和年是編號的值-將天/年看成看起來像{“ 1”,“ 2”,“ 3”,...的數(shù)組可能會更有用。 .. } 他們自己。


至于為什么這是如此普遍(除了在數(shù)學上是正確的),您列出的所有語言都是出于同一原因而起源的……


編輯:


進一步研究它,這個Wikipedia鏈接詳細說明了零索引的幾個好而有趣的原因(它并沒有直接說明為什么月被零索引了,但我認為已經(jīng)涵蓋了),因此,該SO鏈接已經(jīng)回答了之前的問題。


似乎普遍的觀點是“歷史事故”或“因為月份不是數(shù)字,所以不能與日/年存儲進行比較”,具體取決于您問的是誰。


*對不起,對不起,物理!=有事再來咬我?,F(xiàn)在去熨燙我的手。


查看完整回答
反對 回復 2019-12-03
  • 3 回答
  • 0 關(guān)注
  • 855 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號