From 90715d7210ae1d13c69f55790cd083937b29102e Mon Sep 17 00:00:00 2001 From: Giovanni Di Grezia Date: Mon, 17 Mar 2014 16:39:48 +0100 Subject: [PATCH] Reti costruito secondo esercizio sulle architetture big e little endian --- .DS_Store | Bin 6148 -> 6148 bytes 1_funzioni/readme | 3 + 2.little_big_endian/check_architecture | Bin 0 -> 8604 bytes 2.little_big_endian/check_architecture.c | 67 +++++++++++++++++++++++ 2.little_big_endian/my_architecture | Bin 0 -> 8456 bytes 2.little_big_endian/my_architecture.c | 21 +++++++ 2.little_big_endian/readme.txt | 3 + 2.little_big_endian/utility_check_size | Bin 0 -> 8516 bytes 2.little_big_endian/utility_check_size.c | 10 ++++ da_vedere | 13 +++++ test/test | Bin 0 -> 8724 bytes test/test.c | 13 +++++ 12 files changed, 130 insertions(+) create mode 100644 1_funzioni/readme create mode 100755 2.little_big_endian/check_architecture create mode 100644 2.little_big_endian/check_architecture.c create mode 100755 2.little_big_endian/my_architecture create mode 100644 2.little_big_endian/my_architecture.c create mode 100644 2.little_big_endian/readme.txt create mode 100755 2.little_big_endian/utility_check_size create mode 100644 2.little_big_endian/utility_check_size.c create mode 100644 da_vedere create mode 100755 test/test create mode 100644 test/test.c diff --git a/.DS_Store b/.DS_Store index e0d8cdad1d1080cc36250048b659a486ef16ba44..f2f8171cb887fa885ef9245370aeb306f2b60120 100644 GIT binary patch delta 104 zcmZoMXfc=|&e%S&P;8=}A|unp0PD#HA}ka86%B+Lj2QG7au_lhN`NqjA(bJXAqmJ! z2hynwc?>B)b|OPwT1s(pQht68v+1UMMmH*WmSJeglamyuz!qsU?Ai480O DdtMv8 delta 57 zcmZoMXfc=|&e%4wP;8=}A|vC(0Ba!8qq6a-68pptrkmM01UMMmHa`5$Jeglamz9x$ Mf#JYrTam-e01yTd#Q*>R diff --git a/1_funzioni/readme b/1_funzioni/readme new file mode 100644 index 0000000..7e1f310 --- /dev/null +++ b/1_funzioni/readme @@ -0,0 +1,3 @@ +esegui calcola aggiungendo due numeri + +calcola 1 4 diff --git a/2.little_big_endian/check_architecture b/2.little_big_endian/check_architecture new file mode 100755 index 0000000000000000000000000000000000000000..34edced976987504b748bdbce4d197b167e6ed43 GIT binary patch literal 8604 zcmeHMUuauZ96onzT(`ALHimTghr404Zn)L4Nd>3v=$*GL)w;DX1UaV3Z4=0!n%uBV zD6Gt~WwBd*^Fd(`dlCjBJ`9o7)!~K;77c=0#@J92P}qYHv*_yg-9PP3+HJ3UxIZ}e zobUY3?>oQy<=o`voFC@@y1PaQWwj8;R|z3PC~pUZm=G#jLTo|NQKaneepP!@JM=nx z>rJVLD@^1?H-U7-BaTl>(-dSiR>uv8l!eUEWF{_?nPJ8>@_pd&@iV6p-_N8p5^^{f zO&j*8M!p*kUz!Ru$c9r0@$JAv_-FeQPpq0 zF%;%8a&rCduIFF+_`<%ncaA>!)7huc7eWzh*I8w|i`fTj$Ne&n-xFRV>_nlDIV;Kq ze2pkeb7TI)$MU9;-noA#@<-VgK&jHhRpwLfDZr^+bdSbww|C zek!W`V==t|D{0?X)0S7et(Uu+gO_w={2xS#;CtKa`&YUBo9g>lyZ!T+Q!g*_G&%hf zH_?Apn;@VdxMf%S01z>qx)Qa1>qHmbK zvwXp+Ici+D@(i4}Zi8y%&@p}2QsY`x0+hA604h<^=4!p@zp7P$kbMO)$bJG>$ald0Md>-!w~`~G(DUmz+HV5)UeT3ndT9oE+y-s; z7o3>gJ*OkB)t()LmEPF5J*OhAH%i)-vQ}{ttJE@9VzU^H#AfZp_AqvGZ;*+V12b0D zsmHY0;H7~;6;qtVfRgrAS(|luW^2>nLCh_NmIG((nBepvhaa)|eztu3sFPlP1wQ2R zCEWZ>O4`L5U-dw7*%}r&Xj8zy#qxh%LnSWqqMx|Z|JK(F;SLO02=BJ8dvJ|RKGBM* z`|v{eKMb2naB%GpWR~D-Uu}*p&Qkjkt-fr|P_sETW#sc}G&fR68yPdN8pTl~W*YHz zVt+KQ9?0g>QPYCqL{W4U!yUVea3x1nEfY^hGin$kBT3Ut8Qvbo_GU&4rW!FaBMEaI zUNME>nxuJaO3s&5iq3M2Z^SUR`NyCIks&LZy^D>_76N|vkWh*tCDgK}d5Uv9z?z)@ zZ5!PGZ%+MyFyHMf;49!O;49!O;49!O;49!O;49!O;49!O;4APDDzI@|+hL})u}ktO zJf1C>qvDNRXsU~cYu4eo9Kv}q4zrI}u^VEUG9_|th%kytQ=qM)Jv@q2YIB&d9WbAd zMKeUMDH7*?t7JNXC?i%d4V;ljNxL;2O=d)x`x~ppIrmJ=ZOmV9;cgnYG3s_LtQ{yN zWU{o!p%e`R@qQZ3V4{13vg@BRP) literal 0 HcmV?d00001 diff --git a/2.little_big_endian/check_architecture.c b/2.little_big_endian/check_architecture.c new file mode 100644 index 0000000..2b23f43 --- /dev/null +++ b/2.little_big_endian/check_architecture.c @@ -0,0 +1,67 @@ +#include +#include + +typedef union { + short data_short; + char data_char[2]; + +} input_data; + + + + +int main (int index, char** data){ + + + + + if (index >2 || index == 1){ + fprintf(stdout,"More or less arguments expected\n"); + exit(-1); + }else{ + if ( *((*(data+1))+1) != 0 && *((*(data+1))+2) != 0 && *((*(data+1))+3) != 0 && *((*(data+1))+4) == 0){ + input_data data_union; + input_data data_union_inverted; + for (int i = 0;i<4;i++){ + if( ((*((*(data+1))+i) >= 48) && (*((*(data+1))+i) <=57) ) || ((*((*(data+1))+i) >= 97) && (*((*(data+1))+i) <=102) )){ + continue; + }else{ + fprintf(stdout,"Bad Formatted\n"); + exit(-2); + } + + } + char buf[3]; + for (int i = 0;i<2;i++){ + buf[0]= *((*(data+1))+(i*2)); + buf[1]= *((*(data+1))+(i*2)+1); + buf[2]= 0; + + sscanf (buf,"%hx",(short *)&(data_union.data_char[i])); + data_union_inverted.data_char[1-i] = data_union.data_char[i] ; + + + } + + + for (int i = 0;i<2;i++){ + fprintf(stdout,"0x%02x\n",data_union.data_char[i]); + } + + fprintf(stdout,"Big Endian %d\n",data_union.data_short); + fprintf(stdout,"Little Endian %d\n",data_union_inverted.data_short); + + + + + }else{ + fprintf(stdout,"Bad Input Lenght\n"); + } + + } + + + + +return 0; +} diff --git a/2.little_big_endian/my_architecture b/2.little_big_endian/my_architecture new file mode 100755 index 0000000000000000000000000000000000000000..bff858dbaec30298a9c2873a361aafdf4dcfe8c0 GIT binary patch literal 8456 zcmeHMO=uHA6rOF>##&4YBK{R(wNe$@9y}DJ(3CE2Y0>@(MU*jVH_c+QEt?HZ1)-(% z5H*mCpeJvFg5Xg+sG!h`q6ZHiM0!zL(CSf(7~i)$+iX(PlNVtgyv%-Y-h1=r%M9$! zyjlPHyN)rXma(}S##jitov}q0rYFYslWL@#4@Sl!*+;1&TTzwmmDke6?W5PsQa040p3<}2bl9i&eL`#mfkQ`<{J#U z`MmKx>;(iwKCj=+#}j&TTDQolGT)fUcR(Zn2JaiPslM^FZ5igIaHz~@iF`*yKd@iQ za#IKA8FR)kC%9q8ryN}Vf7}xJ@Sj6~w-V0v1dm(Mls^;_3VB!1g!vE=vCraQv8Qm&h zh~nWN5dOgad|1bRT-sLyeP{dC-ac~r+&Nt`FXfve~C`ob|{H8khW*iR(sNjwNK0@ zCkR6hlA?}_uiLNp2TtF?4wzJ;R6CQ?*q?JlX9QL(eFb?K{KGduz z4{3TzX>1yQWHxQ6tp6Ui}BjCVQg@^@U|1YyWYQuG5Ow-m{MWI!??8ITM} z1|$QLfq%=uc`f%zTlmtU<<+$%^%s)ouKmz*neXu>b*)Cxa_X{nLtPF&?VK+v)EivH zE23-Cl=+`{`3o-Yg)QGzpym- +#include + + +int main (int index, char** in_data){ + + short data = 0x0102; + char* datacp = (char*)&data; + if (*datacp == 0x01 && *(datacp+1)==0x02){ + printf("Big Endian\n"); + }else{ + if(*datacp == 0x02 && *(datacp+1)==0x01){ + printf("Little Endian\n"); + }else{ + printf("Unknow\n"); + } + } + + + return 0; +} \ No newline at end of file diff --git a/2.little_big_endian/readme.txt b/2.little_big_endian/readme.txt new file mode 100644 index 0000000..e27e163 --- /dev/null +++ b/2.little_big_endian/readme.txt @@ -0,0 +1,3 @@ +utility_check _size mostra la grandezza in byte dei divers tipi di dato +check_architecture legge come parametro da lien di comando 4 cifre esadecimali e ne restituisce il valore in little e big endian +my_architecture mostra l'archiettura corrente \ No newline at end of file diff --git a/2.little_big_endian/utility_check_size b/2.little_big_endian/utility_check_size new file mode 100755 index 0000000000000000000000000000000000000000..ded1fc08587c1d87aec3805a4fb9cc22e78b4f2d GIT binary patch literal 8516 zcmeHMUuYCZ9G=yxF^zgkk!!246{BedIQG$hnqTq{fK8i>yCs-)-MI?CrzTMfoxsCcRoge%%^PBnRo8Npp zdu(PNzWV$1CLyf#LNwM1ArkN(HwbY>*r*BdG2DSmc{25F=4|HF3AXl|)gQhwBF_jW zka9M2X0{&^jOWCaic@Zdig@3JSPj~`AQJ?KaXD&AD=mm@w-e)H!tVCY{?B#@%-9~FR4fvW3Ro{ zxKGCM0HsW)W>Xpr`=M{2MEgbCC*+N|r7Ra^ZK;&26lK---pUuzaN|c~IV+!MFdqY$ zlnWJY+pXbCU_9{y0UGbo8~Aj7DT~>6<(G`{G1kZPz0mh{?>(KGJpNrKJsG`Yc1$vYq>j&-NN(zNf1wxpzKj1EL~rR z-p_j54te73c#WBo7=n-1Yu;$FkQ<#_D$XIMeF|qD=LW}qOQ44Cv@XH<8bydXUn<)xvk#Zn15!e=DVeXUmrvsg&aVzeQ?gV zXovcJuHpt_+5tHG8I#+XQNSo*6fg=H1&jhlf&ZHVr=8|s&gB=jv%KLU*6yrWN&)BU zmMZG^GplT9{`}Hu*8g#?9(9`cZi@CrVwcB$W3j^TGa7~*!w`U)nHK<^W83oBH5Mz; z$1*_42-F7XNC>(VfTFK=fc|9znf?T52ZGcs{1MH}lXUYB=ki_q`#YWCM{E*P%e#L^ zk(%iY-$2>Qv+?<}PN(xtKI?sH4;SlpZpn8C#Z129`Fg`-xi6fmlo#}FBr0~14W^e| zF~3+3qof~G|E00cuj?UvsV3mcQ28jT{&Y%MiwP?+v}vH#1w_DJIjjC}>$RAgQNSo* z6fg=H1&jhl0i%FXz$jo8FbWt2i~{eg0^9c_r zxG% + +int main (int size, char** data){ +fprintf (stdout, "Char: %lu byte\n",sizeof(char)); +fprintf (stdout, "Short: %lu byte\n",sizeof(short)); +fprintf (stdout, "Int: %lu byte\n",sizeof(int)); +fprintf (stdout, "Long: %lu byte\n",sizeof(long)); +return 0; + +} diff --git a/da_vedere b/da_vedere new file mode 100644 index 0000000..c40d1d3 --- /dev/null +++ b/da_vedere @@ -0,0 +1,13 @@ +nel make file +@echo compilazione di $< in $@ + +FLAG1= -c + +FLAG2 = -o + + + +clear: + rm -f -- per esempio + +vedi union, esercizi stringa, file, little e bigendian, dati esadecimali. diff --git a/test/test b/test/test new file mode 100755 index 0000000000000000000000000000000000000000..ea2045591641cce6c482edf793002ecf80cae61c GIT binary patch literal 8724 zcmeHMPl#JZ9R9u5wY%-=rcy-FLRyTC3cD**h$zxXgRge0ZFeih+RobW`{&BOB^kc$5C7qrB0?_%e^;d%QyW-xi)7U zqI@44zCC7~IBWyl7*MKJd#_w8sB*11ukqk|tQtP9IgR*!rj%Dw#YVR3^}M34^FtAU8{Sw+IXMC+IE}xVuKd(zCM+D zxzkDg_}i7$PoF|x3`ItE>+)=X*#}GFei_IAiLmiHDHM)z&W`g1{zjbswQ>FF#is97 z$6p=CJjyvZ!JbCp_15A&{hl%S2VmNBC>$pyw>7JPRlq7>6|f3e1*`&Af$b@9#%=%Z zUixd+T^afck?zWwtM2kcuQ(!8%R>{WPAtn*J9Fpz%s(VQM2%4l*Tqc4n`3f)6wkJjeWX>_WP&BS%^8Y(OttG&Uc$uG2e0TntI99 z+oZAXRspMkRlq7>6|f3e1*`&A0jq#jz$#!BunPPS3hX_Y=4}WIs^NmTQvW8OTmq+pnE*9AX-GZ;Ud% z%HxiK(+#?hIXVNV2Oib9cZ@ +#include + + +int main (int index, char** in_data){ + + char buf[50]; + fscanf(stdin,"%10[^\n]",buf); + fprintf(stdout,"%s",buf); + + + return 0; +} \ No newline at end of file