请问在进行赋值时,short, int哪个更快?

java\u8d4b\u503c\u95ee\u9898int long short

\u4f60\u6709java 2 \u53c2\u8003\u5927\u5168 \u8fd9\u672c\u4e66\u5417\uff1f\uff1f
\u90a3\u4e0a\u9762\u6709\u5173\u4e8e\u8fd9\u4e2a\u7684\u89e3\u91ca

\u6211\u770b\u8fc7\u8bb0\u4e0d\u5927\u6e05\u695a\u4e86

\u8bf4\u4e00\u70b9\u6211\u81ea\u5df1\u7684\u770b\u6cd5 \u53ef\u80fd\u4e0d\u592a\u5bf9

\u6211\u8ba4\u4e3a\u4f60\u7b2c\u4e00\u4e2a\u8bed\u53e5\u662f\u5c11\u52a0\u4e86L\uff0c\u624d\u62a5\u7684\u9519\uff0c\u8fd9\u662f\u8bed\u6cd5\u7684\u95ee\u9898\u5427\uff0c\u4e0d\u52a0\u540e\u7f00\uff0c\u7cfb\u7edf\u4f1a\u8ba4\u4e3a\u4f60\u8981\u53bb\u8d4b\u503c\u7ed9\u4e00\u4e2aint\u578b\u53d8\u91cf\uff0c\u5c31\u4f1a\u62a5\u9519

\u7b2c\u4e09\u4e2a\u8bed\u53e5\u4e0d\u62a5\u9519\uff0c\u90a3\u662f\u56e0\u4e3a\uff0cshort\u578b\u7684\u53d8\u91cf\u53d6\u503c\u8303\u56f4\u57280\u2014\u2014255\u4e4b\u5185\uff0c\u8fd9\u4e2a\u8303\u56f4\u91cc\u9762\u7684\u6570\u53ef\u4ee5\u76f4\u63a5\u8d4b\u503c\u7ed9short\u3002\u4f60\u53ef\u4ee5\u8bd5\u8bd5\u628a266\u8d4b\u503c\u7ed9short\u53d8\u91cf\uff0c\u6216\u8005\u4f60\u53ef\u4ee5\u8bd5\u8bd5\u8fd9\u6837 int a =5,short b = a ,\u8fd9\u6837\u4e5f\u901a\u4e0d\u8fc7\uff0c\u9700\u8981\u5f3a\u5236\u8f6c\u6362\uff0c
short b =(int)a,\u8fd9\u65f6\u6ca1\u95ee\u9898\uff0c\u56e0\u4e3a5\u4e0d\u8d85\u8fc70--255\u8fd9\u4e2a\u8303\u56f4\u3002\u4f46\u662f\u4f60\u8bd5\u8bd5\u8fd9\u6837
int a =265,short b = \uff08int\uff09a\uff0c\u4e5f\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4f60\u6253\u5370\u51fa\u6765b\uff0c\u5c31\u4f1a\u53d1\u73b0\u635f\u5931\u7cbe\u5ea6\u4e86

java\u662f\u8fd9\u6837\uff0c\u5f53\u4f60\u58f0\u660e\u4e00\u4e2a\u53d8\u91cf\u540e\uff0c\u7cfb\u7edf\u5c31\u5728\u6808\u91cc\u5b58\u50a8\u4e86\u8fd9\u4e2a\u53d8\u91cf\uff0c\u53d8\u91cf\u7684\u5b9e\u9645\u5b58\u50a8\u7a7a\u95f4\u5728\u5806\u6808\u91cc\uff0c\u53ea\u6709\u4f60\u7ed9\u8fd9\u4e2a\u53d8\u91cf\u8d4b\u503c\uff08\u5b9e\u4f8b\u5316\uff09\u65f6\uff0c\u7cfb\u7edf\u624d\u4f1a\u5728\u5806\u6808\u91ccnew\u51fa\u4e00\u5757\u7a7a\u95f4\uff0c\u7136\u540e\u628a\u4f60\u8981\u8d4b\u503c\u7684\u6570\u503c\u8f6c\u5316\u6210\u4e8c\u8fdb\u5236\uff0c\u8fd9\u65f6\uff0c\u5982\u679c\u4f60\u8d4b\u503c\u7684\u6570\u503c\u8d85\u8fc7\u8fd9\u4e2a\u7c7b\u578b\u7684\u53d8\u91cf\u7684\u6570\u503c\u8303\u56f4\uff0c\u5c31\u4f1a\u653e\u4e0d\u4e0b\uff0c\u6240\u4ee5\u7f16\u8bd1\u5c31\u4f1a\u62a5\u9519\u3002

\u6570\u503c\u662f\u6ca1\u6709\u7c7b\u578b\u7684\uff0c\u53ea\u6709\u53d8\u91cf\u624d\u6709\u7c7b\u578b

\u4e0d\u540c\u957f\u5ea6\u7684\u6574\u5f62\u6570\u76f8\u4e92\u8d4b\u503c\u65f6\uff0c\u662f\u5426\u80fd\u901a\u8fc7\u7f16\u8bd1\uff0c\u662f\u6839\u636e\u7f16\u8bd1\u5668\u8bbe\u5b9a\u7684\u5bf9\u7c7b\u578b\u4e00\u81f4\u6027\u8981\u6c42\u7684\u7a0b\u5ea6\u5f00\u5173\u6765\u51b3\u5b9a\u7684\uff0c\u7f3a\u7701\u60c5\u51b5\u4f1a\u6709\u8b66\u544a\u63d0\u793a\uff0c\u4f46\u80fd\u901a\u8fc7\u7f16\u8bd1\uff0c\u4f46\u8fd9\u79cd\u8b66\u544a\u53ef\u4ee5\u88ab\u5173\u95ed\uff0c\u6216\u5728\u4f7f\u7528\u5e38\u91cf\u65f6\u7f16\u8bd1\u5668\u8ba4\u4e3a\u4e0d\u4f1a\u51fa\u73b0\u610f\u5916\u95ee\u9898\u3002\u53e6\u4e00\u4e2a\u60c5\u51b5\u662fint \u548c short\u7684\u957f\u5ea6\u6709\u65f6\u5bf9\u4e0d\u540c\u7684\u5e73\u53f0\u6709\u4e0d\u540c\u7684\u5b9a\u4e49\uff0c\u5982int \u53ef\u4ee5\u662f64bit\u4e5f\u53ef\u4ee5\u662f32bit,short \u53ef\u4ee5\u662f32bit \u621616bit\u7b49\uff0c\u5f53int\u548cshort\u540c\u957f\u5ea6\u65f6\uff0c\u5f53\u7136\u4e5f\u6ca1\u95ee\u9898\u5566

反汇编代码如下,我给你分析
pushl %ebp
movl %esp, %ebp
subl $12, %esp
:前3行不用看,是分配栈的
movw -2(%ebp), %ax
andl $-8, %eax
orl $2, %eax
movw %ax, -2(%ebp)
:这四行为n.a=10
movl $10, -8(%ebp)
:为int x=10;
movw $10, -10(%ebp)
:为short y=10;
movl 和movw指令是长字和字的移动指令,估计是movw快一些吧

这个原理上应该shot最快,要写的内存位数少嘛,但相差多少时间很难计算

不同长度的整形数相互赋值时,是否能通过编译,是根据编译器设定的对类型一致另一个情况是int 和 short的长度有时对不同的平台有不同的定义,如int

  • 浠nsigned+short瀹氫箟鐨鍙橀噺n璧嬪涓47560,灏嗚鍙橀噺浠hort杈撳嚭,杈撳嚭缁撴灉...
    绛旓細鍥犱负瓒呰繃浜32768杩欎釜鏈澶鐨剆hort 姝f暟锛屽洜姝や細杈撳嚭璐熸暟 47560 as short:-17976
  • 灏嗕竴涓猧nt鍨鐨鏁存暟璧嬪缁欎竴涓short鍨嬫暣鏁鏃,Visual C++ 6.0鐜涓嬪浣...
    绛旓細int鍜宻hort鎵鑳借〃绀鐨鑼冨洿涓嶄竴鏍凤紝int鍊艰秴鍑簊hort鎵琛ㄧず鐨勮寖鍥达紝鏁呭皢int璧嬪缁short鏃蹇呮孩鍑猴紝鍙己鍒惰浆鎹絾寰楀埌鍊兼槸閿欒鐨勫硷紝鑳藉杩愯閫氳繃 int b = 32769锛泂hort a = 锛坰hort锛塨锛
  • 鍒濆C++璇烽棶濡傛灉Short 绫诲瀷鍗16浣,璧嬬粰short鐨鏈澶ф暟鏄粈涔堟庝箞鐞嗚В_鐧 ...
    绛旓細short 鏈澶у兼槸0111 1111 1111 1111锛屽嵆2鐨15娆℃柟鍑1锛堟渶楂樹綅鏄鍙蜂綅锛塽nsigned short 鏈澶у兼槸1111 1111 1111 1111锛屽嵆2鐨16娆℃柟鍑1 褰撶粰16浣嶇殑unsigned short 瀵硅薄璧嬪100000鏃,璧嬬殑鍊兼槸浠涔堬紝閭e氨鏄畠鑷繁浜
  • FLOAT SHORT璧嬪
    绛旓細鏄鐨勶紝浣嗘槸寰楀己鍒剁被鍨嬭浆鎹 float a= (float) 2.8;short b=(short) a;閭d箞b=2;
  • C璇█涓悇绉嶆暟鎹被鍨嬫湁浠涔堝尯鍒?
    绛旓細2銆佸悇绉嶆暟鎹被鍨鐨鍏抽敭璇嶄笉鍚屻short銆乴ong銆乮nt銆乫loat銆乨ouble銆乧har鍏釜鍏抽敭璇嶈〃绀篊璇█閲屽叚绉嶅熀鏈暟鎹被鍨嬨3銆佷笉鍚屾暟鎹被鍨嬪崰鐢ㄥ唴瀛樼殑澶у皬涓嶅悓銆俿hort鍗2byte锛宨nt鍗4byte锛宭ong鍗4byte锛宖loat鍗2byte锛宒ouble鍗8byte锛宑har鍗1byte锛堜笉鍚岀殑骞冲彴鍙兘鍗犵敤鍐呭瓨澶у皬涓嶄竴鏍凤紝鍏蜂綋鐨勫彲浠ョ敤sizeof 娴嬭瘯涓...
  • ...short鍙橀噺鐨勫艰祴缁檚hort鍙橀噺,杩欎袱涓彉閲忕殑杈撳嚭鍊间负浠涔堜笉涓鏍穇鐧惧害...
    绛旓細鏂囧瓧閮ㄥ垎锛歶nsigned short鐨勮寖鍥存槸0~65535锛宻hort鐨鑼冨洿鏄-32768~+32878銆傛妸鍓嶈呯殑鍊艰祴缁欏悗鑰咃紝鑻ュ叾鍊煎湪0~32767涔嬮棿鍒欒緭鍑虹浉鍚岋紝鑻ュ叾鍊煎湪32768~65535涔嬮棿鍒欒緭鍑哄搴旂殑璐熸暟銆璧嬪兼椂鑲畾瑕佸己鍒讹紝鍚﹀垯鍑洪敊銆傚浘鐗囬儴鍒嗭細D)30姝g‘锛岄塂)銆
  • short=10; 杩欐牱鍐 涓轰粈涔堝鍛?鐞嗙敱鏄粈涔堛傝璇︾粏鐐 璋㈣阿
    绛旓細short a=10;//铏界劧涓虹煭鏁村舰锛屼絾涔熸槸鏁村舰锛屽洜姝ゆ病鏈夐棶棰 int c=5;//瀹氫箟涓涓猧nt绫诲瀷鐨c璧嬪涓5 short b=(short) c;//濡傛灉灏唅nt绫诲瀷鐨勫艰祴鍊肩粰short灏卞繀椤诲己鍒剁被鍨嬭浆鎹
  • short int a=-32769,涓轰粈涔堣緭鍑鐨鏄32767?
    绛旓細浠庢暟瀛︿笂璁诧紝-32769杞崲涓轰簩杩涘埗涓猴紙... 1111 1111锛 锛0111 1111 1111 1111锛夌涓涓嫭鍙烽噷鏄鍙蜂綅锛屽叏涓1銆傞鐩腑鐨剆hort int鑼冨洿鏄-32768~32767锛岃鏄巗hort int鍦ㄥ唴瀛樹腑鍙崰2涓瓧鑺傦紙16浣嶏級锛岀粰short int鍙橀噺璧嬪兼椂绯荤粺浼氭姏鎺夊墠闈㈢殑鎵鏈夊唴瀹癸紝鍙繚鐣欐渶灏忕殑16浣嶃-32769鐨勫悗16浣嶆槸绗簩涓嫭鍙...
  • short i = 0;i = i + 1;涓轰粈涔堥敊???
    绛旓細璁颁綇锛宻hort绫诲瀷闀垮害姣攊nt绫绘х煭锛屽綋short + int 鏃跺欓粯璁ょ粨鏋滄槸绫诲瀷杈冮暱鐨涓鏂逛篃灏辨槸int 鎵浠 i + 1 鍊兼槸int绫诲瀷锛屼笉鑳璧嬪缁檚hort绫诲瀷锛屼篃灏辨槸璇撮暱鐨勭被鍨嬩笉鑳借祴鍊肩粰鐭殑绫诲瀷锛岄櫎闈炲己鍒惰浆鍨嬶紙浣嗚繖鏍蜂細浜х敓绮惧害闂锛変互涓嬮棶棰橈紝閮芥槸涓婇潰鐭ヨ瘑鐐圭殑琛嶇敓鐗┿傝繕鏈夛紝鎻愮ず浣狅細short i = 0;i += 1 ...
  • C璇█涓short鍙栧鐨闂
    绛旓細浣犳病鐞嗚В16杩涘埗锛16杩涘埗锛屾瘡涓浣嶇浉褰撲簬4浣嶄簩杩涘埗锛屾墍浠0x1122姝eソ鏄2涓瓧鑺鐨鏁存暟锛屽彲浠璧嬪缁short锛鍥犱负char鏄崰涓涓瓧鑺傦紝鑰0x11杩欐牱鐨勬樉鐒舵槸鍗1涓瓧鑺傚晩锛屼篃涓嶄細鏁存暟涓惧嚭鐨勩
  • 扩展阅读:免费扫一扫找答案 ... short赋值给char数组 ... 免费拍照答题神器 ... c语言int 转换为short ... excel自动提取对应数据 ... short的取值有多少种可能 ... 如何int赋值到short ... short类型赋值 ... 免费拍照答题一秒出答案 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网