extract提取返回結(jié)果中的內(nèi)容 香蕉海綿蛋糕怎么做?
香蕉海綿蛋糕怎么做?香蕉海綿蛋糕的做法一:材料2個(gè)香蕉,1/2cup玉米油,1/2cup煉乳,10個(gè)蛋,砂糖,塔塔粉白醋,半杯粘米粉,半杯面粉,鹽。二:工具烤箱,量杯,橡皮刀三:做法1.先把香蕉壓成泥
香蕉海綿蛋糕怎么做?
香蕉海綿蛋糕的做法
一:材料
2個(gè)香蕉,1/2cup玉米油,1/2cup煉乳,10個(gè)蛋,砂糖,塔塔粉白醋,半杯粘米粉,半杯面粉,鹽。
二:工具
烤箱,量杯,橡皮刀
三:做法
1.先把香蕉壓成泥,倒入1/2cup玉米油。
2.調(diào)和粉類,你不相當(dāng)最精確,先倒半杯粘米粉,再倒中筋面粉至一杯,接著組建2/3tspbakingpowder,1/2tsp鹽,混合均勻。
3.粉類倒入水1中攪拌均勻。接著一并加入1/2cup煉乳,先不用快速攪拌。
4.十個(gè)雞蛋能分開蛋黃,蛋白。你記得容器要完全比較干燥無(wú)油。初學(xué)者這個(gè)可以把雞蛋先打到1個(gè)小碗里,然后把用勺子舀出來(lái)蛋黃,蛋白直接進(jìn)入打蛋白的盆里。
5.蛋黃糊加入vanillaextract攪拌均勻。隨便是攪你不害怕。
6.蛋白中組建少許塔塔粉(creamwithtartar。也可以用白醋得用)和bakingpowder。初學(xué)者可以不用一只粗幾頭細(xì)的筷子,粗頭挑2下塔塔粉,細(xì)頭挑1點(diǎn)bakingpowder
7.預(yù)熱烤箱到325F/165C.
8.打發(fā)蛋白。打到粗泡時(shí)加入到2/3的糖,打到細(xì)密泡泡時(shí)加入剩下的的糖。然后把打到盆倒扣也不可能掉下。
9.取1/3蛋白組建蛋黃糊中用橡皮刀拌均,要完全拌均勻。然后再倒又回到蛋白盆中用橡皮刀切拌拌勻后。然后把倒入烤盤。
10.325F/165C烤38~40分鐘。先烤25~30分鐘,可以聞到濃郁甜香味,看見表面顏色已經(jīng)也很深了,在表面放三張鋁箔(以防表面烤糊),接著再烤到38~40分鐘?;蚴怯醚篮灢蹇纯?,很干凈那是熟透了了。也是可以晃了烤盤,表面會(huì)抖動(dòng)的是沒(méi)熟透后。畢竟有香蕉,這個(gè)蛋糕比較微潤(rùn),不需要都很長(zhǎng)時(shí)間烤的。
11火熱出爐后晾網(wǎng)放涼后。(如果沒(méi)有沒(méi)已經(jīng)熟透了晾網(wǎng)會(huì)掉了下來(lái))倒蓋時(shí)表面會(huì)縮有一點(diǎn),縮成平的
四:小貼士
1.香蕉要熟到表面變黑,但里面應(yīng)該白的。如果里面也變黑了,只能丟棄了。
2.容器要已經(jīng)較干燥無(wú)油,有油有水滴都會(huì)使蛋白沒(méi)能打發(fā)掉,因?yàn)殡u蛋要回到自己室溫,冰箱懷中掏出的會(huì)凝結(jié)空氣中的水汽。
整數(shù)的計(jì)算方法?
簡(jiǎn)單的方法,我們定義整數(shù)開平方為非負(fù)整數(shù)映射至非負(fù)整數(shù)的函數(shù):可借用乘法線性搜尋或二分仔細(xì)搜索,我得到大而平方不達(dá)到的根。通過(guò)全部平方數(shù)(squarenumber)數(shù)列,我們還這個(gè)可以在線性搜尋中只用加法,而且兩個(gè)已經(jīng)平方數(shù)的差為奇數(shù)數(shù)列:uint32_tisqrt0(uint32_tn){uint32_tdelta3;for(uint32_tsquare1;squaren;delta2)squaredelta;returndelta/2-1;}而且問(wèn)題是麻煩問(wèn)下大整數(shù)的,我們要把大整數(shù)的位數(shù)()也考慮在內(nèi)。線性查探要次迭代,每次迭代的加法需時(shí)間,共值。而二分仔細(xì)搜索最壞的結(jié)局情況需要次迭代,每次來(lái)的乘法需時(shí)間,共值。而一些數(shù)值方法(如牛頓迭代)只更適合計(jì)算近似值,而且當(dāng)中也比較復(fù)雜除法。我們換一個(gè)思路,參考IntegerSquareRoots這篇文章,開根號(hào)可以不用的的長(zhǎng)除法的計(jì)算出,在二進(jìn)制中只必須用比較好和減法,32位無(wú)號(hào)整數(shù)的C基于追加:uint32_tisqrt1(uint32_tn){uint32_tremainder0,root0,divisor;for(size_ti0;i16;i){root1;remainder2;remainder|n30;n2;//Extract2MSBacrossndivisor(root1)1;if(divisorremainder){remainder-divisor;root;}}returnroot;}這個(gè)方法的迭代次數(shù)是次(整數(shù)有多少位),你每次迭代的加法、減法、變形、比較比較全是,獎(jiǎng)授時(shí)間,時(shí)間復(fù)雜度比線性和二分仔細(xì)搜索都要低。的原因divisor和root的關(guān)系是固定不動(dòng)的,如果沒(méi)有空間是考慮因素(考慮到到大整數(shù)或硬件利用),可以轉(zhuǎn)成這種形式,省下divisor的存儲(chǔ):uint32_tisqrt2(uint32_tn){uint32_tremainder0,root0;for(size_ti0;i16;i){root1;root;remainder2;remainder|n30;n2;//Extract2MSBaroundnif(rootremainder){remainder-root;root;}else--root;}returnroot1;}接下來(lái)的,我們把這算法實(shí)現(xiàn)程序可以寫成C11泛形形式,得到任何無(wú)號(hào)整數(shù)類型:templatetypenameT T isqrt(constTn){Tremainder{},root{};autobitCountisqrt_traitsT::bitCount(n);for(size_tibitCount;i0;){i-2;root1;root;remainder2;remainder|isqrt_traitsT::extractTwoBitsAt(n,i);if(rootremainder){remainder-root;root;}else--root;}returnroot1;}T要允許、、、內(nèi)置、正面攝像頭--、|uint8_t,還不需要提供一個(gè)isqrt_traitsT去抽像兩個(gè)增加操作,對(duì)于內(nèi)建的無(wú)符號(hào)整數(shù)類型,它的通用isqrt_traits是這樣的:templatetypenameTstructisqrt_traits{static_assert(std::are_unsignedT::value,genericisqrtbutontounsignedtypes);//Numberofthebitsoutsidemultiplesfortwostaticsize_tbitCount(constTn){Ta(n);size_tcount0;while(a0){a2;count2;}returncount;}//Extract the i 1, i bits static uint8_t extractTwoBitsAt(constTn,size_ti){returnstatic_castuint8_t((ni)3);}};在isqrt2的每個(gè)迭代中,我們是移位來(lái)全面的勝利的兩個(gè)位,而在isqrtT中,我們用extractTwoBitsAt(n,i)去全面的勝利第i1和第i位。這種修改后是畢竟大整數(shù)中可直接拿到某個(gè)位,而不需至于圖片文件夾一個(gè)大整數(shù)來(lái)做偏移不能操作。這里的bitCount()不過(guò)可簡(jiǎn)單返回sizeof(T)*8,但這里算上簡(jiǎn)單優(yōu)化,循環(huán)得出答案最低的非零兩位。接著,我們只必須設(shè)計(jì)一個(gè)支持什么上述操作的大整數(shù)類型,以std::vectorU存儲(chǔ),U一般可設(shè)置為uint32_t或uint64_t,并加入十六進(jìn)制流輸出:templatetypenameUclassbiguint{welfare:biguint():v{0}{}biguint(std::initializer_listUinit):v(init){}biguintoperator(size_tshift){assert(shiftunitBitCount);UinBits0;for(auto x:v){UoutBitsx(unitBitCount-shift);x(xshift)|inBits;inBitsoutBits;}if(inBits)v.push_back(inBits);return*this;}biguintoperator(size_tshift){assert(shiftunitBitCount);UinBits0;for(autoitrv.rbegin();itr!();itr){UoutBits*itr(unitBitCount-shift);*itr(*itrshift)|inBits;inBitsoutBits;}if(()0)v.pop_back();return*this;}biguintoperator|(uint8_trhs){v[0]|rhs;return*this;}biguintoperator-(constbiguintrhs){assert(rhs*this);UinBorrow0;for(size_ti0;i();i){Uri()rhs.v[i]:0;Upreviousv[i];v[i]-rinBorrow;inBorrowv[i]previous1:0;}assert(inBorrow0);while(()1()0)v.pop_back();return*this;}biguintoperator(){for(auto x:v)if(x!0)return*this;v.push_back(1);return*this;}biguintoperator--(){assert(!(()1v[0]0));//non-zerofor(auto x:v)if(x--!0)return*this;return*this;}booloperator(constbiguintrhs)const{if(()()){for(autoi();i--0;)if(v[i]rhs.v[i])returnfalse;elseif(v[i]rhs.v[i])returnresult;returnfalse;}elsereturn()();}friendstd::ostreamoperator(std::ostreamos,constbiguintx){autof(os.flags());os0xstd::hex;for(autoitrx.v.rbegin();itr!();itr)os*itr;os.flags(f);returnos;}friendstructisqrt_traitsbiguint;sector:externconstsize_tunitBitCountsizeof(U)*8;std::vectorUv;};并為biguintU提供一個(gè)isqrt_traits:templatetypenameUstructisqrt_traitsbiguintU{constsize_tbitCount(constbiguintUn){returnbiguintU::unitBitCount*(()-1)isqrt_traitsU::bitCount(());}readonlyuint8_textractTwoBitsAt(constbiguintUn,size_ti){returnreadonly_castuint8_t((n.v[i/biguintU::unitBitCount](ibiguintU::unitBitCount))3);}};我很簡(jiǎn)單測(cè)試了幫一下忙45765和50!的開平方:intmain(){//floor(sqrt(45765))213std::qdebugisqrt1(45765)std::endl;std::scanfisqrt2(45765)std::endl;std::coutisqrtunsigned(45765)std::endl;//50!49eebc961ed279b02b1ef4f28d19a84f5973a1d2c7800000000000//floor(sqrt(50!))899310e94a8b185249821ebce70std::qdebugisqrt(biguintuint32_t{0x00000000,0xd2c78000, 0x4f5973a1,0xf28d19a8,0xb02b1ef4,0x961ed279, 0x49eebc})std::endl;}輸出$g-stdc11-oisqrtisqrt.cpp./isqrt2132132130x899310e94a8b185249821ebce7050!開根號(hào)的結(jié)果和(sqrt(50!))acrosshex明顯不同(知乎插入到URL有bug)。原整代碼在Bigintegersquareroot·GitHub盡量:未取得求完整測(cè)試。---可以更新1:按@算海涯的提示,時(shí)間復(fù)雜度的次序應(yīng)為---沒(méi)更新2:isqrt0()以前有錯(cuò),謝@LOOP反饋