Помогите пожалуйста, как можно возвести отрицательное число в произвольную степень, например (-1)^4;  (exp(ln(-1)/4) - не работает... выдает ошибку, таким образом можно возвести в степень только положительные числа.
Помогите.... help me...
			
			
					
		1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК ! 
4. НЕ используйте форум для личного общения! 
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел! 
![]() ![]()  | 
	
| v-pest | 
                        
			
			  
			
				 Сообщение
					#1				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Помогите пожалуйста, как можно возвести отрицательное число в произвольную степень, например (-1)^4;  (exp(ln(-1)/4) - не работает... выдает ошибку, таким образом можно возвести в степень только положительные числа. 
			
			
					
		Помогите.... help me...  | 
	
| ___ALex___ | 
                        
			
			  
			
				 Сообщение
					#2				
			 
		 | 
	
| 
        	
        		 Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация:    0           	 | 
       
			
			 в целую степень или в любую? 
			
			
					
		и через экспоненту неправильно написано  | 
	
| v-pest | 
                        
			
			  
			
				 Сообщение
					#3				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 И точно не правильно, надо было вместо деления умножение ставить... sorry... :o 
			
			
					
		Я тут и сам посидел и придумал маленькую процедурку, работает нормально и с отрицательными числами, но дробные не берет... Function V_Stepen(znach:real; stepen:byte):real; var i : byte; k: real; begin k:=znach; for i:=1 to stepen-1 do k:=k*znach; V_Stepen:=k; end; Но если есть другие варианты, пожалуйста пишите, я приму в сведение.  | 
	
| ___ALex___ | 
                        
			
			  
			
				 Сообщение
					#4				
			 
		 | 
	
| 
        	
        		 Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 282 Репутация:    0           	 | 
       
			
			 2^(-0.35) = 1 / 2^0.35 
			
			
					
		y = 1 / Exp(0.35 * Ln(2)) вот так записываются положительные числа в отрицательных степенях через экспоненту если ещё и само число будет отрицательным - сам подумай как сделать тоже это очень просто  | 
	
| Clane | 
                        
			
			  
			
				 Сообщение
					#5				
			 
		 | 
	
| 
        	
        		 Гость  | 
       
			
			 Тут на форуме этот вопрос уже много раз обсуждался, даже приводился готовый вариант функции.... Пользуйся поиском. 
			
			
					
		 | 
	
![]() ![]()  | 
	
 
  | 
		Текстовая версия | 4.11.2025 18:50 |