{"id":5296,"date":"2023-11-17T18:57:47","date_gmt":"2023-11-17T17:57:47","guid":{"rendered":"https:\/\/msxitalia.org\/?p=5296"},"modified":"2023-12-17T10:37:32","modified_gmt":"2023-12-17T09:37:32","slug":"linguaggio-c-per-msx-lezione-2","status":"publish","type":"post","link":"https:\/\/msxitalia.org\/en\/linguaggio-c-per-msx-lezione-2\/","title":{"rendered":"C language for MSX \u2013 lesson 2"},"content":{"rendered":"<h1 dir=\"auto\" style=\"text-align: center\">Linguaggio C per MSX<\/h1>\n<h1 dir=\"auto\" style=\"text-align: center\">Rubrica a cura di Nicola Brogelli (Parte 2)<\/h1>\n<h2 dir=\"auto\" style=\"text-align: center\">Conversioni di Tipo<\/h2>\n<p>Come abbiamo visto nella dispensa precedente, in C ogni dato ha un Tipo ben definito. Quando in una espressione compaiono variabili di tipo diverso, spesso il compilatore \u00e8 in grado di gestire senza l\u2019intervento del programmatore la conversione tra i tipi. In altri casi invece \u00e8 richiesto che la conversione sia eseguita in modo esplicito dal programmatore. Un fattore da tenere presente, quando si parla di conversioni, \u00e8 che non sempre una conversione di tipo preserva il valore: ad esempio nella conversione da float a int in generale si riscontra una perdita di precisione, perch\u00e9 la rappresentazione adottata per gli interi \u00e8 inferiore con quella adottata per i reali. Da questo punto di vista si pu\u00f2 distinguere tra conversione di tipo con perdita di informazione e conversione di tipo senza perdita di informazione. In particolare in quest&#8217;ultimo caso si parla di promozione di tipo e avviene quando ad esempio una espressione un tipo int viene promosso a reale.<\/p>\n<h3>Conversioni implicite<\/h3>\n<p>Quando un\u2019espressione del tipo x op y coinvolge operandi di tipo diverso, avviene una conversione implicita secondo le seguenti regole:<\/p>\n<ol>\n<li>quando in una espressione sono in gioco gli interi e i reali, gli operandi sono sempre convertiti a quello di lunghezza maggiore.<\/li>\n<li>se una espressione aritmetica viene assegnata ad una variabile di tipo intero o reale, il risultato dell\u2019espressione viene convertito al tipo di variabile.<\/li>\n<li>Un tipo char o una enumerazione (vedremo in seguito) possono essere utilizzati ovunque si richieda l\u2019utilizzo di un tipo intero.<\/li>\n<\/ol>\n<p style=\"padding-left: 40px\">int r = 0;<br \/>\nfloat a = 10.25;<br \/>\nfloat b = 3.11;<br \/>\nr = a + b; \/\/ Il risultato di r = 13<\/p>\n<h3>Conversioni esplicite<\/h3>\n<p>Questo tipo di conversione \u00e8 a carico del programmatore, il quale richiede in modo esplicito di convertire un valore da un tipo ad un altro. L\u2019operazione di conversione, anche definita come cast consiste nel nome del tipo della variabile a cui si deve effettuare la conversione, scritto fra parentesi tonde e posto davanti al valore o alla variabile da convertire.<\/p>\n<p style=\"padding-left: 40px\">int i = (int) 3.14;<br \/>\nfloat p = 3.14;<br \/>\nint i = (int)p; In entrambi i casi il valore di i sar\u00e0 3.<\/p>\n<p>Se il contenuto ti ha soddisfatto qui trovi la<a href=\"https:\/\/msxitalia.org\/linguaggio-c-per-msx-lezione-3\/\"> terza dispensa<\/a>.<\/p>\n<p>Per chi fosse interessato l\u2019<a class=\"x1i10hfl xjbqb8w x6umtig x1b1mbwd xaqea5y xav7gou x9f619 x1ypdohk xt0psk2 xe8uvvx xdj266r x11i5rnm xat24cr x1mh8g0r xexx8yu x4uap5 x18d9i69 xkhd6sd x16tdsg8 x1hl2dhg xggy1nq x1a2a7pz xt0b8zv x1qq9wsj xo1l8bm\" role=\"link\" href=\"https:\/\/www.facebook.com\/Associazione.MSX.Italia?__cft__[0]=AZWtW1kbPNs-h0X85XLUtlSKwrS2h0EfGuNwjtd0M1PViiWRP1v-ecIHfthHvkFXOWHq94BEStwCld8Sjyxph5HZV4pPzclIzcfMyJIWrb9R-3V_FjjkVgcWyg5bavYJbeQZX-I3whyOQrf4Qant6h10WsQDbiQVQEyQIPwa7IigJywispZTopKR03G8R5dvPlVM89QzLX0uMinZyfKrpw6A&amp;__tn__=-]K-y-R\"><span class=\"xt0psk2\">Associazione MSX Italia<\/span><\/a>\u00a0ha creato un gruppo di lavoro di Ricerca e sviluppo sulla programmazione C per MSX. Per maggiori info:\u00a0associazioneMSXitalia@gmail.com<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Linguaggio C per MSX Rubrica a cura di Nicola Brogelli (Parte 2) Conversioni di Tipo Come abbiamo visto nella dispensa precedente, in C ogni dato ha un Tipo ben definito. Quando in una espressione compaiono variabili di tipo diverso, spesso il compilatore \u00e8 in grado di gestire senza l\u2019intervento del programmatore la conversione tra i [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":5615,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[4],"tags":[],"dipi_cpt_category":[],"class_list":["post-5296","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linguaggio-c"],"_links":{"self":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts\/5296","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/comments?post=5296"}],"version-history":[{"count":5,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts\/5296\/revisions"}],"predecessor-version":[{"id":6290,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/posts\/5296\/revisions\/6290"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/media\/5615"}],"wp:attachment":[{"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/media?parent=5296"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/categories?post=5296"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/tags?post=5296"},{"taxonomy":"dipi_cpt_category","embeddable":true,"href":"https:\/\/msxitalia.org\/en\/wp-json\/wp\/v2\/dipi_cpt_category?post=5296"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}