  | 
		 
			
			
			
			
			
	
		
			
  
 | 
	 		
	  			
	  				| 
						  Elektronika.lt portalo forumas 
						
						Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
						Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose. 
						 
						Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
						kurie nesilaiko forumo taisyklių.
						Pastebėjus nusižengimus, prašome pranešti. 
						 Dabar yra 2025 11 04, 14:28. Visos datos yra GMT + 2 valandos.
						
					 | 
				 
			 
 | 
		 | 
	 
 
	
		
	  | 
	
		
			 Forumas » Mikrovaldikliai » Optimaliausias bitų sukeitimas vietomis
		
	 | 
 
	
		
		
			
				Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume 
			 | 
			
				
			 | 
			 
		 
		
	 | 
 
 
	  | 
	 Optimaliausias bitų sukeitimas vietomis | 
 
  
	
	
		 Parašytas: 2008 12 21, 23:36 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				Reiškia taip, yra LCD ekranas, valdomas 4 bitais, kuriuos dėl plokštės paprastumo man reikia sukeisti vietomis:
 
D0 -> D3
 
D1 -> D2
 
D2 -> D1
 
D3 -> D0
 
 
Kaip programiškai geriausia būtų tai atlikti? 
 
Aš kol kas sugalvoju optimaliausią būdą vieną bitą perkelti trimis matematiniais veiksmais: AND, shift, OR. Tai viso 12 veiksmų.
 
Taip pat galima naudoti bitų kopijavimo instrukcijas - vienam bitui 2 veiksmai. Tai sumoj 8.
 
 
Tik po vieną bitą rankioti kažkaip nesinori, galėtų būti kažkoks optimalesnis variantas.. Ar bus geresnių idėjų? | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
	  | 
	 Optimaliausias bitų sukeitimas vietomis | 
 
  
	
	
		 Parašytas: 2008 12 22, 00:18 | 
		        | 
	   | 
 
	
	
	
		| 
		
		 | 
		
			
			
				Taip yra labai greitas budas.
 
 
padaryk lentele 4 bitai tai bus 16 skaiciu
 
 
mazdausg taip:
 
 
flash z[16]={16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
 
paskui konveratvimas atliekamas va taip:
 
 
x=z[x]; | 
			 
		  | 
	 
	
		| 
		 | 
	 
	  | 
 
 
 | 
 
 
		 | 
		
			
				
					  | 
					 Google paieška forume | 
				 
				
					| 
 | 
				 
			 
			
				
					  | 
					 Naujos temos forume | 
				 
				
					 | 
				 
			  
	
		  | 
	    
	    	FS25 Tractors 
	    	Farming Simulator 25 Mods,
	    	FS25 Maps,
			FS25 Trucks | 
	 
	
		  | 
	    
	    	ETS2 Mods 
	    	ETS2 Trucks,
			ETS2 Bus,
			Euro Truck Simulator 2 Mods
			 | 
	 
	
		  | 
	        
	    	FS22 Tractors 
	    	Farming Simulator 22 Mods,
	    	FS22 Maps,
		FS25 Mods | 
	 
	
	  | 
	    
	    	VAT calculator 
	    	VAT number check,
	    	What is VAT,
	    	How much is VAT | 
	 
	
	  | 
	    
	    	Dantų protezavimas 
	    	All on 4 implantai, 
		Endodontija mikroskopu, 
		Dantų implantacija | 
	 
	
	  | 
	    
	    	FS25 Mods 
	    	FS25 Maps,
		FS25 Cheats,
		FS25 Install Mods | 
	 
	
	  | 
	    
	    	FS25 Mods 
	    	Farming Simulator 25 Mods, 
	    	FS25 Maps | 
	 
	
	  | 
	    
	    	ATS Trailers 
	    	American Truck Simulator Mods,
		ATS Trucks,
		ATS Maps | 
	 
 
 
		 | 
	 
 
			
			 
 
 
  | 
		  |