演講嘉賓:好的,那麼,你不會相信它, 但上週,上週一,在皮爾斯,我 跌在地下室。 我從來沒有去皮爾斯。 而我永遠也不會回來了,因為 我離開了我的東西獨自, 象,五分鐘,有人 偷了我的電腦和我的 手機出我的背包。 這意味著我得到了它回來了, 隨後不到一個星期後 它得到了再次被盜。 然後它得到了開啟 - 查找我的iPhone繼續 是無益的。 所以,我繼續鼓勵 你不使用它。 它開啟一次,那是在麻省理工學院, 就像在15分鐘後,和人 叫這表明這個電話號碼 在我的AT&T的通話記錄。 於是我就在網上,叫那個電話 數,它直奔這 答錄機西班牙語。 我還沒有聽說過它,因為。 所以我必須得到一個新的 電腦和手機。 我知道了。 是啊。 但是,如果你們想湊錢給我 之後,這台計算機的基金,這就是為什麼 我在這裡問你。 只是在開玩笑。 但是,這是真的傷心和痛苦。 但是這一切都回來了,這就是為什麼 在p設置8花了這麼長時間,是因為 我沒有一台電腦。 ,有人偷走了。 和我通過電子郵件,詢問他們是否 將級你的P-8設置。 但他們說沒有。 我當時想,我可以有 我的電腦回來? 和他們一樣,沒有。 只是在開玩笑。 確定。 這是我們的最後一節,我有 一對夫婦 - 我們只有三個 事情提上議事日程。 我們要商量了一下 繞Q導。 然後,我們將花15 分鐘,爽就一個演示。 然後我們將所有說 告別了彼此。 你並不真的需要你的電腦 或筆或紙做筆記,或 跟隨。 所以我想,如果你有你的電腦 了,那麼你在Facebook上。 只是說。 除非你填寫 Q導,這是第一次。 在Q導是開放的。 你已經有一個關於它的電子郵件。 一旦所有的Q的東西被提交在 今年年底,我得到的所有的 在分數從每個人Q意見 誰選擇給我的反饋。 所以當你在Q去 - 我不知道,如果你能做到這一點,傑夫, 因為你和延伸學生。 但是,當你走在Q,如果你還沒有 做之前,你挑你的 老師,這是大衛·馬蘭。 你必須做他。 然後你可以選擇轉錄因子。 並且你可以選擇盡可能多的 只要你想的轉錄因子。 但也有60個人。 你不必來接大家。 你可以隨便挑我,或者隨便挑一個 其他幾個人,如果你願意, 給他們的反饋也是如此。 然後你得到的分數在所有這些 不同的軸,然後你可以離開 他們的反饋。 然後,像一個月後, 我會得到所有的反饋。 而就像反饋你已經 給我整個學期,我 讀了這一切。 而且它是真正有用的,它可以幫助 我成長為一名教師,作為一個 個人。 因此,請花一些時間來做到這一點。 我們只打算在這裡 為,如,30分鐘。 所以,如果你想在本月底,以 需要五分鐘,只需填寫 的Q值,因為它沒有考慮 任何更多的時間比。 這將是美好的,而你也 背快讓你的成績,如果 您填寫的Q。 所以,你們中的大多數已經做到了前 - 或者沒有,大約有一半的你 之前已經做到了。 但如果你是一個新生, 那是那是什麼。 對於所有的類,它會是相同的。 做到這一點。 它需要5分鐘。 但同時,如果你這樣做有點嚴重, 這還不是最糟糕的事情 在世界上,因為我肯定 當真。 所以,如果你離開我一個笑臉, 我對此表示讚賞。 不過,我也將不勝感激,如果你 給我留下了超過一個笑臉。 但它給你。 我不能告訴你 - 或者像一個大笑臉 面,用資本D.那會 更好。 好吧,這是所有我對問:如果你 有任何問題,你可以問 我,但不言自明。 只是,請填寫。 我會很感激, 它意味著很多給我。 OK,這就是我們將要花費 經歷15分鐘。 我要告訴你一些代碼。 我認為這是真的很酷, 這讓我更 興奮的計算機科學。 所以,我希望它會做 為你所有相同的。 我們要開拓 - 而這一切 代碼中,我會送你以後。 但我們只是要開拓 - 我在我的終端 - 我們要打開這個程序 叫[? MySum。 ?] 每個人都可以讀,或 我得更大? 誰能告訴我這是什麼代碼將 當我運行它,或者這是什麼做的 程序會做,當我運行它? [? AVI,?]你怎麼看 它會做什麼? 完成咀嚼。 你不應該談 你的嘴打開。 觀眾:是否採取了一堆 參數,發現它們的總和回國 總和,然後把它打印出來? 或者,它接受兩個參數, 那麼它[聽不清]。 然後它打印出什麼 結果。 演講嘉賓:關閉,真的很近。 有人要添加到 [?阿維什麼?]說的嗎? 你需要給這個程序 任何命令行參數? 觀眾:號 演講嘉賓:號 如果你不給它,會發生什麼 任何命令行參數? 我只是寫點斜線MySum。 觀眾:1加2等於3。 揚聲器:1加2等於3。 它會打印出來。 這是完全正確的。 你會看到打印f 線的下方。 它會打印出A,B,和 然後a和b的總和。 我猜你假設 總和正常工作。 好的假設。 確定,會發生什麼,如果我 給它什麼論據? [?馬努? ?] 觀眾:它會添加任何 第一個參數是到B。 或2,對不起。 演講嘉賓:對,到2。 有誰知道什麼與strtol呢? 它基本上閱atoi。 ATOI實際上是一個奇特的版本 - 或與strtol的一個簡化版本。 但它實際上使用strtol。 我發現了,因為我想 類似atoi的,然後當我 沒有atoi的,我在這裡讀了下來。 而且我發現“這種行為 是相同的“與strtol。 所以它基本上是閱atoi為 所有意圖和目的。 而且你看,我什至使用空和10。 這實際上可以讓你把一個字符串, 並把它變成一個數字,然後選擇 你想這樣做。什麼基地 因此,這是基地10就在這裡。 我可以為十進制做基礎二, 基地16進制。 它很酷。 不過長話短說,這需要兩個 數字並將它們相加。 因此,讓我們運行它。 而且你還會發現,有 有一些事情 - 所以我有一個makefile就在這裡,和 如果您打開了,有些事情 你會發現是不同的。 尤其是,這種說法 在這裡,你可能 以前沒有見過的。 一般情況下,我們編譯的東西 與破折號零,零。 短跑零,零,表示不做 任何優化,編譯器。 不要嘗試做任何幻想,或 做任何事情更快地運行,或獲得 擺脫是必要的變量。 不要優化這個代碼在所有, 我所要求的第三級 優化。 所以我問的編譯器做 很多優化。 您可以更改在makefile時 你有這樣的代碼,如果你想 看到不同的東西。 我們將顯示在第二個。 所以我們跑我總和1加2加3。 有人給我兩個參數。 觀眾:4和5。 揚聲器:4和5。 謝謝。 偉大的,它的工作原理。 什麼是其他一些很好的理由 嘗試,以確保這個工程? 任何人嗎? 觀眾:0。 演講嘉賓:0和? 觀眾:負3。 演講嘉賓:它的工作原理。 但是,這些都是很好的選擇。 好了,讓我們回到這裡。 這是mysum.c。 你會注意到這裡還有東西 所謂sumfunction.c。 與此說,哦,有什麼東西 在sumfunction.c定義。 不包括這個文件中這裡 因為我並不需要。 但我鏈接它,當我編譯, 你注意到了。 讓我們向上滾動。 我們看到,當我們編譯mysum,右 在那裡,我們在從二進制鏈接 sumfunction.o。 而且我也不需要在頭文件 當然,因為,還有的 函數聲明。 如此犀利包括通常只是看跌期權 在函數聲明。 在這裡,我只是把它直 在代碼中。 所以我需要做的是鏈接 在二進制,這是我做的。 任何猜測的是什麼 在sumfunction.c? 什麼樣的代碼我已經寫了 在sumfunction.c? 觀眾:[聽不清]。 演講嘉賓:任何猜測? 是嗎? 觀眾:我認為,定義 一些[聽不清]。 演講嘉賓:是的。 所以我做寫整型總和的int a。 我寫這條線,然後我打開 大括號,封閉大括號。 你覺得我寫的那些裡面 大括號,該函數內部? 是嗎? 觀眾:返回等於一。 處理器:這是一個非常不錯的猜測。 誰認為[?馬努?]是正確的? 它說,返回A加B。 好了,不是每個人。 [? AKSHAR,?] 你這樣做,太? 你確定嗎? 確定。 什麼? 觀眾:你拼寫錯了。 演講嘉賓:不,我沒有。 是啊,只是在開玩笑。 你說得對。 這正是它說。 這是返回A加B。 這使得很多的感覺。 好吧,讓我們回到這裡。 我們看到的標題 - 這是返回類型。 請記住,我們已經看到那一天之一, 返回該功能的類型,但去 Int函數的名稱之前。 在這裡,我寫的int。 你覺得會發生什麼,如果在這 功能,我不寫整型,但 我寫簽名? 的差,當然,作為該 無符號僅代表正 整數,整數可以是 正或負。 所以,我已經改變了回報 類型此功能的。 此代碼不匹配 在這裡的返回類型。 你覺得會發生 當我編譯? 你應該罵我。 沒有大呼小叫。 怎麼樣,當我運行程序? 讓前0負的做 3,或負1。 它仍然有效,即使我說 它返回一個無符號整數。 顯然,它不返回 一個無符號整數。 它返回一個有符號整數。 它的返回負1。 好,這是奇怪的。 怎麼樣,如果我去 這裡做到這一點? 所以,我已經改變了一切 從int到無符號。 它只能採取無符號整數。 但是,我們仍然認為它會跑? 觀眾:是的。 演講嘉賓:它會的。 這太瘋狂了。 我們傳遞了一個明確分配 整數,我們可以簽署傳遞兩個 整數,它仍然有效。 為什麼它仍然確定,任何想法 工作,或者這是怎麼回事? 是啊,傑夫。 觀眾:它有事可做 與你優化你 突出顯示。 演講嘉賓:號 我們可以改變優化, 它仍然正常工作。 我可以為你做的,但是 - 觀眾:我相信你的話。 演講嘉賓:是的。 如果你在這裡打開makefile文件, 我改變了優化。 所以你可以做短線零,零。 它仍然可以工作。 其他的想法? 你們所有預期的工作,所以 為什麼你期望它的工作? 沒有? 沉默。 確定。 我要等上七年秒, 因為我問了一個問題。 因此,關於C中的很酷的事情,你已經 你 - 也許之前經歷 可能沒有,這可能 是第一次。 但大家都知道,當我寫 C語言中,它不保存像 在這台計算機上。 它保存為1和0。 它從C代碼到彙編代碼。 有人看到彙編代碼之前, 機器彙編代碼? 我們來看看在第二。 它從C代碼到彙編代碼。 和你們知道的階段 的彙編。 你必須記住,對於測驗之一, 然後寫出來的測驗為零。 大多數人都錯了​​。 我想你們釘它。 但是,你們是最棒的部分 對於測驗,順便說一句。 這是真棒。 它不會傷害你。 不要擔心。 但它真的很酷。 幹得好。 如此這般,以彙編語言,和 然後它去1和0。 與1和0都保存在 電腦,這就是保存在 a.out的,或者在這種情況下, 可執行文件。 和計算機運行的1和0。 對不對? 之前我們已經了解到這一點。 所以很酷的事情是,這個符號 想法,類型的想法詮釋無符號, 等等,等等,這是 在這裡的C語言。 那些存在。 但類型不存在時 的1和0。 類型什至不存在時 彙編語言水平。 所以這東西存在C語言 世界,但無法在電腦存在 世界或處理器的世界。 這是一些抽象的C 語言已經包括在內,使我們的 生活更輕鬆。 所以,在這一天結束時,我可以寫 這裡很多不同的東西,它 不會有所作為。 因為只存在 在C的世界。 它不會在存在 1和0的世界。 而我們的程序在執行 在1和0的世界。 所以,你的心靈的顯然不是吹呢。 但我認為這很酷。 是啊,傑夫。 觀眾:所以,如果代替 做整型,你做字符。 而你 - 演講嘉賓:讓我們做它在幾秒鐘之內。 觀眾:因為那時候你得到一個 從負128無符號去 127或0到255。 演講嘉賓:所以char是有問題的。 有誰知道為什麼字符會 有問題的,它實際上會 改變的東西,在那些 和歸零的世界? 觀眾:因為字符的大小。 演講嘉賓:字符的大小是1。 所以無符號也是4個字節。 所以字符會搞砸的。 但是,什麼是4個字節是 相關的字符? 或者,增加了一個額外的 - 你可以把一個或多個字符 字符之後。 聽眾:字數明星。 揚聲器:字數星有4個字節。 因此,讓我們做一些事情 這是一個char明星。 因此,這可能會工作,但我們 要做些什麼,甚至 比這更瘋狂。 在我看來,瘋狂。 現在我已經寫了一個函數,返回 一個指針,它需要一個 指針和一個無符號價值 - 我們將 改回為int,所以我們不 做太多的變化一次。 它有一個叫做,索引數組 成陣列,並返回該 的地址。 我們以前見過這些運算符。 對此,你認為什麼這是怎麼回事 這樣做,作為回報,當我運行它? 你覺得它怎麼辦呢? 任何猜測? 觀眾:段錯誤。 演講嘉賓:什麼? 段錯誤? 這是一個很好的猜測。 湯姆說同樣的事情。 任何其他的猜測? 誰認為這將 做同樣的事情? 誰認為它會出現段錯誤? 它做同樣的事情。 抱歉。 但是,當然,我們在1和2。 而這些都是有效的,對不對? 讓我們來看看,我們可以去 第二位的數組。 但是,如果我們做了b 一個負數? 這可能是一個更好的猜想 東西段錯誤。 它仍然有效。 OK,這是現在瘋了。 這是同樣有效的和函數。 這樣做同樣的事情 作為返回a和b。 任何人都可以解釋為什麼這是一個很好的 SUM函數,或者為什麼這個工程? 這裡發生了什麼? 為什麼這個做同樣的 因為我們的老SUM函數的事情嗎? [? AKSHAR,?] 這是怎麼回事? 觀眾:因為當你有 一個一個這是一個地址, 位置記憶 - 當你這樣做的符號,它 去到內存地址。 而當你去B,你是那種 移動從內存地址的步驟, 你回國了。 所以,你實際上,事實上, 添加和b [聽不清]。 哪裡有標準的操作 該回報? 就像,你在哪裡括號下跌呢? 是地址上的返回 一個之前或之後[聽不清]? 演講嘉賓:這將索引β - 或索引到一個 - 然後 返回地址。 好了,大家都明白 什麼[? AKSHAR?] 說,並解釋,為什麼這個工程? 我沒有,第一次有人 解釋這樣對我。 會有人喜歡的圖片 解釋這個? 我們要畫一幅畫,用 無標記,這是偉大的。 發現了一些。 所以我們有一個數組,是 一系列框。 第一個是一個索引0,索引 1,2,3,4,點,點,點。 一個典型的陣列。 並且除了擁有指數, 他們都有內存地址。 因此,讓我們給這個內存地址 13,14,15,16,17,等等。 每個人都到這裡為止。 所以一個是一個地址。 數組,指針的名稱 被保存在那裡。 這是一個指針,它是一個內存位置, 到數組的開始。 所以,如果是這樣的陣列, 一會是13的值。 而且,當然,我們可以給 一個我們想要的任何值。 字符一個明星,我們可以給任何一個 我們想要的內存地址。 我們可以給它0,我們可以給它 負1 - 負1不存在, 所以這可能是有問題的,但 你看見它仍然工作。 所以我們可以給一個任意數量的我們想要的, 我們想要的任何內存地址。 然後,整型B說,好了,去這個號碼 步到數組。 因此,如果b等於2,和等於13, 我們是在內存地址13。 我們走在兩個步驟, 所以我們在這裡。 和符號意味著回報 這個位置的地址。 和地址,當然,15。 因此,我們得到13加2,或 a與b,它是15。 現在的問題是,雖然 - 對不起。 這是否澄清事情 為什麼這個工程? 觀眾:為什麼它的工作打算 - 所以你可以有一個數組, 去到一個負指數? 演講嘉賓:對。 所以我們做了負數, 所以這是 - 這是否有道理,雖然, 首先,[? AVI,?] 你嗎? 觀眾:是啊,我剛 [聽不清],但 - 演講嘉賓:是的,這將返回15。 如果是13,和b是2, 這將返回15。 觀眾:所以零索引不 成為一個問題,對不對? 因為你從0移動。 演講嘉賓:對。 所以你移動 - 所以當b為0, 你不會隨意移動。 而你只希望返回的地址 - 若b為0,這是本質 返回的那個地址。 傳遞的char明星並返回 的地址只是返回一個, 本質。 好了,問題是為什麼 負數工作? 而這對非常酷的事情 這一點,因為這應該出現段錯誤。 它會出現段錯誤,如果我們 做這樣的事情。 比方說,詮釋。 所以這段代碼看起來完全相同, 應具有相同的行為。 本質上,x是可變的垃圾, 所以這應該具有相同的行為。 讓我們把這個 - 哎呀 - 在明星。 好了,我們已經得到錯誤在這裡, 因為它已經將生氣 我,因為它已經 知道什麼是未來。 特別地,第二個。 堆疊內存地址相關聯 使用局部變量。 從本質上講,我不打算編譯 這一點,然後我會做撤消 我們只是做了。 但因為我們從來沒有真正 訪問什麼在記憶 位置,它不會出現段錯誤。 我們從來沒有真正在看什麼 在第二個框或什麼在任何框 此陣。 我們只是說,這裡的地址 的事情,我們正在尋找和 返回地址。 我們從來沒有真正進入了 數組來看看那個位置。 因為我們從來沒有接觸的記憶, 我們不會惹上麻煩。 我們沒有得到一個段錯誤。 如果我們試圖再一次觸碰 記憶,觸摸什麼是在a或b - 或托架b和假設 一個是0和 - 如果為0,甚至,那將是非常 不好,因為我們不能去 向下一路有。 如果a和b均為0,我們試圖 撫摸一下在那裡的話,就要 惹上麻煩。 但是,如果我們不碰那裡的東西, 我們只是返回的地址,它是 實際上不會出現段錯誤,因為 它可讓您執行這些操作。 它只是變得生你的氣,並得到超 生氣,當您嘗試觸摸 實際的內存並返回什麼 在該存儲單元中。 這是否有道理? 這是C。所以只是一個瘋狂的一部分, 我們有一個以上的這些。 誰認為這是很酷? 更多的人。 這是很好的。 OK,這是我們的最後一個。 我希望你能告訴我是否 或者你不覺得這是怎麼回事 做同樣的事情。 我這些寫下來的地方。 我沒有記住他們。 讓我們來看看,8,B 4,4,2,4,0, 8,0,3,4,4,2,4,0,4。 因此,這是一個數組,現在, 不是函數。 並且它是一個數組,因為我們有正方形 括號,沒有大括號。 而且它是什麼類型的數組? 任何人,嗯? 觀眾:他們的十六進制數? 演講嘉賓:但是,什麼是C型? 他們都有十六進制數字。 什麼是C型? 它會告訴你。 觀眾:它是無符號字符。 演講嘉賓:對,無符號字符。 和兩個十六進制數字 是一個字節。 因此,這些都是1,2,3,4, 5,6,7,8,9個字節。 這9個字節的數組。 OK,你可能已經知道 在回答這個問題。 但是,你覺得會 發生在我運行這個? 我說,再一次,在mysum.c, 我期待的功能 採用兩個整數。 而且我不是說那筆 是一個字符數組。 有什麼事情發生時, 我運行。/ mysum和做什麼呢? 嗯,首先,你最可能會 同意化妝 - 哦不,只是開個玩笑。 Phoebe:我做錯了什麼? 嗯哦。 這應該是大括號。 這就是你如何初始化數組。 我的壞。 因此,我們已經看到了在這之前的類型 是一個C級的抽象,而不是 計算機級別的抽象。 因此,大多數人可能預料到 做,或者假設它將使。 但是當我跑什麼。/ mysum? 有什麼事情發生? 任何猜測? 觀眾:這將 打印出一個字。 演講嘉賓:這將 打印出一個字。 什麼字? 觀眾:[聽不清]。 揚聲器:任何其他的猜測? OK,打印出的短語。 你可以有任何短語。 這將是你的身邊。 如果誰擁有不同的猜測? 安娜,什麼是你的猜測? 觀眾:它會打印出 - 兩個字母,或[聽不清] 一個字母。 喇叭:一個字母。 觀眾:我可以怎麼算 許多[聽不清]? 演講嘉賓:九。 嗯,我要去執行它。 它同樣的事情。 它增加了兩個數相加。 好吧,讓我們傳遞兩個參數。 它不帶參數。 所以我不知道它在哪裡能 可能得到這些參數。 但是,讓我們通過在100和0。 並把它添加100和0。 這是瘋了。 我想是這樣。 負4,那也有用。 你可以做任何你想要的。 這同樣是一個有效的和函數。 這是一個求和函數。 但是,沒有,你說這是 字節數組。 那麼,什麼是怎麼回事? 所以,再一次,讓我們回到這個思路 我們在開始的時候說。 你從C級代碼,彙編 語言,以1和0。 這是十六進制。 但是,這真的只是一個 大量的1和0。 這是72和0,對不對? 72和0。 9個字節。 每個字節有8比特。 每個位是1還是0。 所以72的1或0。 我剛剛寫他們這樣的 - 而不是寫出來的很多 1和0。 但是,這會從C級 語言,彙編 語言代碼。 這將在代碼打印出來, 某個地方,這些72和0 我已經寫在這裡。 所以某處在於: - 讓我們在這裡 - 某處mysum,程序,有 這些72 1和0,我已經 編寫並告訴它來寫。 現在,任何猜測什麼的 72和0是什麼意思? 觀眾:可能是相同的 東西返回A加B。 演講嘉賓:大概相同 東西返回A加B。 讓我們來驗證。 讓我們來弄清楚我是怎麼做到這一點。 所以,如果你回到這裡,我告訴你 運行此命令,objdump的-S sumfunction.o。 讓我們去運行它。 objdump的 - OBJ,轉儲。 基本上,它可以給我 無論我希望看到的。 它可以給我的彙編語言。 它可以給我的1和0。 它有一噸的標誌。 這是一個我們要去 用於現在。 點 - 如您在幻燈片中看到 - 破折號大寫S表示,中散佈, 源代碼 - 這條線是在C - 用彙編 碼,並與1和0。 而我們將要運行 它sumfunction.o。 因為它會很容易看到。 再次 - 嗯? 觀眾:你拼寫錯了。 演講嘉賓:但是實際上,我 要清除它的第二個。 我首先要打開 只是sumfuntion.o。 觀眾:你拼了 錯了第一次。 音箱:經典。 總和 - 這是一個很難的詞,雖然。 你會感到驚訝。 好了,這是sumfunction.o。 我什至不能告訴你。 有很多零的,顯然很多 零,而有一些其他的 東西,這不是零。 但主要零。 看起來像有一些的。 所以很明顯,這是難以閱讀。 這是二進制語言。 現在,讓我們打開它 - 什麼? 我究竟做錯了什麼? 我有沒有正確地拼寫呢? OK,這是尷尬的。 我需要一秒鐘來計算 什麼我做錯了。 這是一錯誤。 這是奇怪的。 哦,這就是原因。 我要回到我們最初的 之一,所以我們可以看看 該對象的代碼。 因為沒有真的要 是什麼時候,我們只是把 1和0英寸 我們走吧。 好了,大家可以看到這一點。 這個函數,正如我所說, 放出來的C線 - 源代碼行 - 一些彙編指令。 這裡是我們的源代碼行。 這裡有一個,這裡的另一個。 下面是彙編指令。 這就是他們的樣子。 裝配說明 - 您可以了解更多的這些,如果你把 其他連拍類,但他們 通常的指令。 然後源和目的地。 然後在這裡是二進制代碼 對應於該組裝 指令。 因此,大家可以看到,這個和功能, 在一天結束時,為三 彙編指令。 只有三個。 一個MOV - 這個M-O-V代表的舉動。 添加看台上的地址。 和r-E-t表示返回。 因此,一個MOV,一個加載,一個返回。 而這些,在這裡,是零和 那些對應於該代碼。 所以那些0和1,如果你 知道這些,你可以把 那些直英寸 然後,它會做的 同樣的事情。 因為,在一天結束時,所有 你執行的是一個漫長的系列 0和1。 而這正是你的代碼確實是。 究其原因 - 讓我們來看看一件事。 難道我有makefile文件打開? 因此,如果我們回去衝 零,零在這裡 - 對不起,大寫的O,資本 Ø零,而不是零,零。 而且,我們也做,它會 還是工作一樣。 但現在你有沒有注意到,一個 很多彙編指令。 這是因為,再一次,我問 編譯器不要做任何優化。 所以我仍然可以把所有這些 0和1,並把他們的, 並且,將工作。 我只是做了優化,因為 這是一個更容易一點,那麼, 編寫一個數組。 但是,這將很好的工作。 好了,我們要做的最後一件事, 因為我認為是最酷的一部分。 儘管每個人都清楚的 已經燒斷,說不出話來。 我們的頭腦吹。 [聽不清] 所以,這些都是從不同的CS類, 這是超級有趣, 我已經採取了 - CS61。 我強烈建議你把它。 但是,關於這一事實的最酷的部分,即 事情是0和1, 是這一切都是 0和1。 所以,你可以採取具有文件 你想正確的0和1 在某處它,並用那款 0和1作為和功能。 這是什麼意思了嗎? 我的意思是你可以採取一個圖像文件 具有正確的一系列零和 的,打印的東西 到的圖像。 和一個程序可能將是一個 圖像,但你可以把它解釋,如果 你想,作為一個和函數。 因此,如果我們想打開,為 例如,這個形象。 讓我們去,Hello Kitty的。 美妙的小圖像。 在這裡有該字符串 的0和1。 那些72 0和1 存在於這個形象。 所以,我能做些什麼的話,就是寫 - 我要記住他們在哪裡。 我會發現,在第二。 但我們做的 - 讓我看看他們在哪裡。 一秒鐘。 讓我們做 - 觀眾:[聽不清]。 演講嘉賓:謝謝。 因此,如果我們執行這個程序,它 而不是讀取一個文件,然後它去 這個索引文件中。 然後,再次,就像 mysum,使用兩個數字。 我們可以添加數字完全一樣 我們在做之前,都到 告訴你如何的事實是,在年底 這一天,所有的這些東西都是 0和1。 而且這只是你的選擇 對其進行解釋。 而且如果你真的看 在此圖像 - 讓我們放大一點。 每個人都可以看到它? 你會發現在這裡,有 一些奇怪的污跡。 讓我們去 - 這是原始圖像。 你會發現這裡有沒有污跡。 這是SUM函數的代碼, 就是那麼一點塗抹在那裡。 而實際上,同樣,如果你​​了解更多 關於這一點,你就會意識到,這 凱蒂貓,其中有一個甚至更大的 塗抹,有一個可以接管一個代碼 計算機,如果它不保護 適當。 這樣你就可以真正運行這個。 我不打算現在運行它。 但是你可以運行這個囉 梯圖像,並且它可以 接管您的計算機。 所以這就是所有的演示。 沒有任何人有任何疑問, 意見,顧慮? 我覺得這個東西是迷人的。 它激發了我學習更多。 我強烈建議,如果你有興趣 在所有對CS,跟我說話。 雖然我是一個社會學 選礦廠,我是CS,二級,所以 我還知道一點點。 不過,我當然知道是什麼 類,你應做的。 我覺得這一切都非常有趣, 我鼓勵你,當然,要 了解更多,如果你有興趣。 好吧,我有一個最後的事情。 抱歉。 有問題嗎? 我沒有停下來等待,如果任何人 有有關的任何問題。 是否有人會成為 一個CS集中? 或思考呢? 一,二,三,四。 一個 - 只有一個。 安娜的是唯一的手那 權威提出。 好了,這很酷。 阿薩姆邦,那你打算怎麼辦? 觀眾:[聽不清]。 演講嘉賓:康斯坦丁? 觀眾:物理。 演講嘉賓:哇,那是快。 你曾在CS50一個壞的經驗? [聽不清],你會怎樣做? 觀眾:我不知道。 演講嘉賓:柯特? 觀眾:經濟學或CS。 演講嘉賓:經濟學或CS。 湯姆? 觀眾:我做統計。 演講嘉賓:統計? 確定。 你是什​​麼? 觀眾:我? 演講嘉賓:是的。 觀眾:統計。 演講嘉賓:統計 哦,你去那裡。 湯姆,跟奧爾登。 艾米麗,你這是? 觀眾:生物醫學 - 演講嘉賓:您在本節? 觀眾:號 演講嘉賓:好,這是艾米莉。 她是我的朋友。 顯然,不是說好了的朋友, 因為她給了我一個困難時期。 你可能是更好的給我在前面 大家,我的學生 - 觀眾:我做你的Q導。 演講嘉賓:真的嗎? 嗯哦。 好吧,你真了不起。 我愛你這麼多。 哦男孩。 無論如何,我,昨晚, 像一切 - 我敢肯定,每個人似乎真的 強調現在。 我不知道,是大一 - 是 你們感到壓力? 我感覺壓力。 這就像,你回家 感恩節。 你喜歡,我要去 做所有這些事情。 觀眾:它是如此的不同。 演講嘉賓:是啊,你回來了。 傑夫,你不會有這樣的感覺? 觀眾:我只是在想 我會做一點點。 演講嘉賓:好,太好了。 所以,我回來了,我還沒有 做任何事情。 而這一切都超級緊張。 與我而言,真正關心, 關於是否我 要完成一切,我不得不這樣做。 但昨晚,我沒有強調, 我只是有點傷感。 所以,我寫在我的日記關於 我很傷心的。 我很傷心這部分 在這個類中即將結束。 所以,我正要讀了你們 我的日記一個小片段, 從昨晚。 我可以得到一些餐巾紙, 一些組織從湯姆? 不,我要哭了。 我沒有哭。 這並不是說你不能哭, 我只是不哭泣。 我什至不知道我的淚 腺體工作 - 淚腺。 我沒有哭的很長一段時間。 觀眾:[聽不清]。 演講嘉賓:好的,謝謝。 好了,有一個小序 - 還有我的一些雜誌上其他地區 項,因為我嘗試每日記 前一天晚上我到床上。 我強烈推薦日記。 它可以幫助你處理事情,也 很欣賞你的日子。 它使人們更方便看 回到你的一天,並認識到 有很多好 事情發生。 即使你感覺確實強調 在夜間或非常沮喪,或 真是悲哀或疲倦。 哦,我的上帝。 我什至不知道它是否撰文指出, 很好,因為我沒有校對。 但我們會閱讀它。 我平時不看我的 日記,很明顯。 “明天,我會教我的最後 今年CS50部分。 這是瘋狂的速度有多快時間過得真快。 然而,我被多麼不同的擊打 我的經驗,今年是教學 比當我還是個大二。 對於初學者來說,我絕對 知道材料更好。 但是,不要告訴我的第一批 學生說。 更重要的是,我意識到 那是來自於站立的喜悅 在一個房間裡的東西開始時的前 作為陌生人,但最終因為在 至少,Facebook上的朋友,是 不是第一年僥倖。 相反,它是從知道的是,在 一些小方法,你幫助 有才華,周到,愉快,和 多情的人了解多一點 關於計算機科學。 你的移動燈泡只是一個 在插槽位,因此它的能 照比你更亮,或者他們, 能夠想像在學期的開始。 你幫助把這些皺眉上攻 下來,問問題, 提供支持,但仍然允許 學生站起來自己。 這當然不是一個誇張的 說這部分是我最喜歡的 週的一部分。 甚至可以說,我毫不猶豫地說,這是 總之,在每個週末下午5:30,知道 這將是太長了 直到我們再次見面。 然而,我非常感謝 誰給了我這個人 機會回饋他人。 大衛,對他的耐心和信任。 電影及製作人員,為 讓我看起來有點尊敬。 而且,最重要的是,我的學生, 沒有他們,我沒有理由 花10小時找出最好的 方式提請指針,或者制定出一個 表海豚,通過JavaScript。 與往常一樣,它是一個祝福。“ 因此,與那,謝謝你們。 我會看到你的所有在CS50公正, 該hackathon,如果你在那裡。 如果你有任何問題,我會堅持 各地,直到沒有更多的。 但我感謝你們 一個美好的一年。 [掌聲] 演講嘉賓:我可能會流淚。