#[allow(dead_code)] #[allow(unused_variables)] use std::mem; fn veri() { let a=55; println!("a: {}",a); } fn veriTipleri() { let a:u8 = 125; // u = unsigned 0-255 8 bit println!("a = {}",a); // u unsigned, 0- 2^N-1 //i signed, -2^(N-1) ---- 2^(N-1)-1 let mut b:i8 = 0; // -128---127 println!("Önce b = {}",b); b = 22; println!("Sonra b = {}",b); let c = 123456789; //i32 == 32 bit = 4 byte println!(" c = {} ve boyutu {} byte tır.",c,mem::size_of_val(&c)); let d:isize = -200; let d_boyut = mem::size_of_val(&d); println!("d = {} ve boyutu {} byte, bilgisayarınız {} bit mimariye sahiptir", d,d_boyut,d_boyut*8); let e:char ='g'; //_,;+%'!? println!(" e = {} ve boyutu {} byte tır.",e,mem::size_of_val(&e)); // f32 veya f64 u olamaz varsayılan olarak işaretli IEEE754 ile nan, +- sonusuz değerleri de // alabilir let mut f:f32 =2.50002; println!(" f = {} ve boyutu {} byte tır.",f,mem::size_of_val(&f)); let g:bool = false; //true println!(" g = {} ve boyutu {} byte tır.",g,mem::size_of_val(&g)); } fn aritmetikIslemler(){ let mut a = 2+5*3; println!("sonuc a : {}",a); a=a+1; // -- veya ++ Rust dilinde yok a+=1; //a=a+1 //-=,*=,/= , %=işlemler yapılabilir println!(" {} / {} işleminden kalan ={}",a,4,(a%4)); let a_kupu = i32::pow(a,3); println!(" a değerinin küpü {}",a_kupu); let b=2.6; let b_kupu = f64::powi(b,3); let b_ustu_pi = f64::powf(b,std::f64::consts::PI); println!("{0} üstü 3 : {1} ve {0} üstü pi :{2}",b,b_kupu,b_ustu_pi); } fn bitwise_logic() { let c= 1|2; // | ->veya // & ->AND // ^->XOR // 1|2 -> 1 =01 // 2 ->10 //01 | 10 =11 println!(" 1|2 ={}",c); //logical işlemler let pi_kucukmu_4den = std::f64::consts::PI<4.0; //true // mantıksal olarak > >= <, <= == != sorgulaması yapabiliriz println!(" sonuc {}",pi_kucukmu_4den); let x=5; let x_esit_5 = x!=5; println!("eşitlik : {}",x_esit_5); } fn main() { //veriTipleri() //aritmetikIslemler(); //bitwise_logic(); //veri(); let a=56; { let a=44; println!("dongunun içi a:{}",a); } println!("dongunun dişi a:{}",a); }